
|
Statistiques de précipitations
Version pdf de ce document
|
Question 1
Identifier les stations sans données manquantes.
Tracer la courbe des précipitations.
|
ZU=bool2s(M==-99);
// matrice de 1 (si élément = -99) et de 0 (sinon)
[lhs,rhs]=maxi(ZU($:-1:1,4:$),"r");
// rhs contient les indices, comptés depuis la fin, à partir desquels
// -99 n'apparait plus sur la colonne correspondante
// sauf si -99 n'apparait jamais dans une colonne !!!
printf('indices des stations sans donnees manquantes :\n');
SDM=find(rhs==1)
for i=SDM
xset("window",i); xbasc();
plot2d(M(:,i+3));
xtitle('Precipitations pour la station'+string(Stations(i)),...
'jours','precipitations (mm)');
end
xdel(SDM);
Question 2
Identifier, pour chaque station, la première date à partir de laquelle
il n'y a pas de donnée manquante après.
Tracer, pour chaque station, la courbe des précipitations à partir de
cette date.
|
ZU=bool2s(M==-99);
[lhs,rhs]=maxi(ZU($:-1:1,4:$),"r");
// rhs contient les indices, comptés depuis la fin, à partir desquels
// -99 n'apparait plus sur la colonne correspondante
// sauf si -99 n'apparait jamais dans une colonne !!!
// dates-rhs : pour chaque station, indice de date à partir de laquelle
// il n'y a pas de donnée manquante
for i=1:stations
if rhs(i)==1 then rhs(i)=dates, end
xset("window",i); xbasc();
plot2d(dates-rhs(i)+2:dates,M(dates-rhs(i)+2:dates,i+3));
xtitle('Precipitations pour la station'+string(Stations(i)),...
'jours','precipitations (mm)');
end
xdel(1:stations);
Question 3
Extraire du tableau les lignes n'ayant aucune donnée manquante.
Ceci correspondant aux jours pour lesquels toutes les stations
ont une mesure de précipitation. Calculer la matrice des corrélations pour
ces données. Représenter les valeurs propres par ordre décroissant.
Tracer projections du nuage et cercles des corrélations sur les premiers
plans factoriels.
|
getf("ACP.sci");
// chargement du fichier ACP.sci
// PROBLEME DES DONNES MANQUANTES
z=mini(M,"c");
// minimum par ligne
ind=find(z>=0);
// indices correspondants
A=M(ind,4:$);
// matrice extraite correspondant aux jours pour lesquels
// il n'y a pas de donnée manquante pour aucune station
mat_cor=correlation(A);
// matrice des corrélations
valp=val_prop(mat_cor);
// valeurs propres
xset("window",0);
xbasc();plot2d2(1:sum(ones(valp)),valp/sum(valp));
xtitle("Eboulement des valeurs propres (normalisées)")
Coord=acp_indiv(A);
i=1;j=2;
xset("window",1);
nuage(Coord,i,j);
xset("window",2);
cercle(Coord,i,j);
xtitle("cercle des correlations : plan 1-2");
i=1;j=3;
xset("window",3);
nuage(Coord,i,j);
xset("window",4);
cercle(Coord,i,j);
xtitle("cercle des correlations : plan 1-3");
i=2;j=3;
xset("window",5);
nuage(Coord,i,j);
xset("window",6);
cercle(Coord,i,j);
xtitle("cercle des correlations : plan 2-3");
xset("window",7);
i=1;j=2;
qualite_indiv(A,i,j);
xdel(0:7)