source: trunk/PROGRAMMES/reg_seriestemporelles.m @ 32

Last change on this file since 32 was 32, checked in by pinsard, 15 years ago

detection of OS; explicit xy, explicit marker size

File size: 6.6 KB
Line 
1%REG_SERIESTEMPORELLES calcule la regression lineaire d'une serie temporelle issue du champ de donnees initial
2% (selectionne en un point d'espace particulier) et une composante principale choisie
3%
4% Date: Avril-Mai 2008
5% Auteur: juliette.mignot@locean-ipsl.upmc.fr
6% Contexte Ecole d'ete ENVI-STAT 2008
7%%
8
9%+
10%
11% module
12% ======
13%
14% ``reg_seriestemporelles``
15%
16% DESCRIPTION
17% ===========
18%
19% ``reg_seriestemporelles`` lit les fichiers fichiers
20% ``../DONNEES/lsmask_tropatl_PacandMedblancs.mat``,
21% ``../DONNEES/skt.mon.tropatl.mat``.
22%
23% ``reg_seriestemporelles`` lit aussi le fichier
24% ``../DONNEES//eof_SSTmens_tropAtl30N-20S.mat``
25% produit par eof_NCEP_sais.m_.
26%
27% ``reg_seriestemporelles`` calcule ++
28%
29% ``reg_seriestemporelles`` affiche ++
30%
31% ``reg_seriestemporelles`` sauve cette image dans
32% ``./eof_SSTmens_tropAtl30N-20S.mat_reg_seriestemporelles_1.ps``.
33%
34% EXAMPLES
35% ========
36%
37% ::
38%
39% >> tpacpandreg_startup
40% >> reg_seriestemporelles
41%
42%
43% SEE ALSO
44% ========
45%
46% tpacpandreg_startup.m_
47%
48% .. _tpacpandreg_startup.m : tpacpandreg_startup.m.html
49%
50% eof_NCEP_sais.m_
51%
52% .. _eof_NCEP_sais.m : eof_NCEP_sais.m.html
53%
54% TODO
55% ====
56%
57% improve description
58%
59% pourquoi ``return`` à la fin
60%
61% ajout xlabel et ylabel
62%
63% EVOLUTIONS
64% ==========
65%
66% $Id$
67%
68% - fplod 2009-09-14T14:10:07Z aedon.locean-ipsl.upmc.fr (Darwin)
69%
70%   * explicit MarkerSize value to avoid difference between
71%     octave 3.0.2 and octave 3.2.2 plots
72%   * explicit X and Y limits to avoid difference between
73%     matlab, octave 3.0.2 and octave 3.2.2 plots
74%
75% - fplod 2009-08-26T09:49:43Z aedon.locean-ipsl.upmc.fr (Darwin)
76%
77%   * remplacement de ``eps`` par ``ps`` pour pouvoir imprimer les figures
78%     produites par ``octave``
79%
80% - fplod 2009-08-25T10:40:16Z aedon.locean-ipsl.upmc.fr (Darwin)
81%
82%   * modif commentaires liée au renommage
83%
84% - jmignot 2009-08-25
85%
86%   * PROGRAMMES/Reg_seriestemporelles.m renommé en
87%     PROGRAMMES/reg_seriestemporelles.m pour éviter confusion
88%     avec RESULTATS/Reg_seriestemporelles.m
89%   * chgt de noms de fichiers : ``EOF_`` devient ``eof_``
90%
91% - fplod 2009-08-24T08:46:31Z aedon.locean-ipsl.upmc.fr (Darwin)
92%
93%   * add header
94%   * répertoire de données relatifs au répertoire courant
95%   * suppression de ``clear all`` présent dans ``tpacpandreg_startup.m``
96%   * as octave save default format is ASCII and no default extension
97%     while matlab save default format is MAT v5 mat-file (little endian) and
98%     default extension is ``.mat``, write more precise save instruction
99%   * save the figure
100%
101%-
102
103%% PARAMETRES DU PROGRAMME
104% selection de la composante principale a considerer
105ipc=1; %rang de la composante principale que l'on va considerer ici
106
107% les coordonnees du point d'espace auquel on veut comparer cette
108% composante principale doit etre choisi plus bas, apres chargement des
109% longitudes et latitudes
110%%
111%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
112%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
113%%%%              CHARGEMENT ET PREPARATION DES DONNEES
114%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
115
116nannees=60;
117
118repertoire=[ '..' filesep 'DONNEES' filesep ]; % a adapter a chaque cas: chemin d acces aux donnees
119
120% Mask
121%-----
122   file='lsmask_tropatl_PacandMedblancs.mat'
123   load([repertoire file]);
124% Data
125%--------
126  repertoire2=[repertoire 'MAT' filesep] % a adapter a chaque cas: chemin d acces aux donnees
127  file=['skt.mon.tropatl.mat']
128  load([repertoire2 file]); % chargement des donnees
129  tab=permute(tab,[2 3 1]); % permutation des dimensions pour organiser le tableau sous la forme [lat lon temps]
130
131% Application du masque
132%----------------------
133mask3D=repmat(mask,[1 1 size(tab,3)]);
134tab(mask3D~=0)=NaN;
135
136
137%  MANIPULATIONS TEMPORELLES: MOYENNES
138
139% Construction de moyennes mensuelles saisonnieres
140%---------------------------------------------------
141tab=reshape(tab,size(tab,1),size(tab,2),12,nannees);
142tab=squeeze(mean(tab,4));
143
144%Calcul des anomalies
145%tab_mean=squeeze(mean(tab,3));
146%tab_mean=repmat(tab_mean,[1 1 size(tab,3)]);
147%anom=tab-tab_mean;
148
149%%
150%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
151%%%% selection d'un point d'espace
152%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
153% le point d'espace est selectionne en reperant son indice i,j dans le
154% tableau de longitude et de latitude
155
156%i=find(lon>-96 & lon<-94);
157%j=find(lat>19 & lat<21);
158i=find(lon>-96 & lon<-94);
159j=find(lat>19 & lat<21);
160%i=find(lon>-21 & lon<-19);
161%j=find(lat>19 & lat<21);
162%i=find(lon>4 & lon<6)
163%j=find(lat>-11 & lat<-9)
164
165SST=squeeze(tab(j,i,:));
166
167%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
168%%%%% chargement des composantes principales
169%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
170
171file=['eof_SSTmens_tropAtl30N-20S.mat']; % nom du fichier sous lequel on avait enregistre le resultat de l'ACP en moyenne annuelle
172titledataeof='SST' % je definis ce nom pour pouvoir l'inclure dans le graphique plus bas.
173if (run_octave == 0)
174 load([repertoire file]);
175else
176 load('-v7',[repertoire file]);
177end
178PC=PC(:,ipc);
179
180%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
181%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
182%%%%               NUAGE DE POINTS
183%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
184
185ifigure=1;
186figure(ifigure);
187plot(SST,PC,'x','markersize', 6)
188xlim([21 28]);
189ylim([-1.5 1.5]);
190hold on
191
192%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
193%%%%%%   REGRESSION LINEAIRE
194%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
195
196%[b0,b1,s,R,sigb0,sigb1] = linreg(SST,serie);
197
198SSTmean=mean(SST);PCmean=mean(PC);
199n=length(SST);
200
201
202% la fin du programme est a completer (les formules sont dans le cours ou
203% dans les livres)
204
205% calcul de b1 et b0, coefficient directeur et ordonnee a l origine de la
206% droite de regression
207
208
209%trace de la droite de regression
210%---------------------------------
211
212
213%Calcul du coefficient de détermination
214%----------------------------------------
215
216%significativite statistique comparaison de la correlation r et de la
217%valeur critique rc donnee par la table de student en fonction du nombre de
218%degres de liberte ndf
219%------------------------------
220
221
222% significativite statistique de b0 et b1
223%--------------------------------------------
224
225% sauvegarde de la figure
226printer='ps';
227print_printer=['-d', printer];
228fullfilename=['.' filesep file '_' mfilename '_'  num2str(ifigure) '.' printer];
229print(print_printer,fullfilename);
230clear print_printer;
231clear fullfilename;
232clear printer;
233%
234clear ifigure;
235
236return
Note: See TracBrowser for help on using the repository browser.