Bonjour à tous, j'ai encore un probleme...

Je dispose de différentes images représentant la concentration en matière en supension dans le golfe de gascogne (variable suspmat). Je souhaite les moyenner pixel par pixel pour avoir une image moyenne.

La variable SuspMatt est une matrice MxN avec des valeurs qui correspondent à des concentration en matière en suspension en fonction des longitude et des latitudes.Mon problème c'est que pour chaque images, j'ai des pixels qui sont des NaN. Ce que je voudrait c'est que ces pixels ne soient pas pris en compte dans la moyenne . J'ai essayé le programme suivant mais ca ne me donne pas de bon résultats:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
function moyimageMES
% Moyenne des concentrations en MES
 
 
SuspMatt1=nc_varget(file,'suspended_matters');
lon1=nc_varget(file,'lon');
lat1=nc_varget(file,'lat');
 
somme=zeros(623,601);
total=zeros(623,601);
 
d=datenum('03/19/2006',23):datenum('03/20/2006',23); % en mettant les bonnes dates
 
for n=1:numel(d)
 
   file=datestr(d(n),26);
   file=[strrep(file,'/','') '.nc'];
   if exist(file,'file')==2
 
if(isnan(SuspMatt1)~=1)
    somme=imadd(somme,SuspMatt1);
    total= immad(total,1);
 
else 
     somme=imadd(somme,0);
     total= immad(total,0);
 
end
   end
 
b=somme;
c=total;
moyenne=b/c;
 
 
pcolor(lon1,lat1,moyenne)
 shading flat
 axis equal
 colormap(jet)
 caxis([0 100])
 colorbar
J'ai l'impression que le problème est dans if(isnan(SuspMatt1)~=1).Pour une image donnée, dès que un de mes pixel est un NaN, le programme suit la boucle pour tous les pixels :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
else 
     somme=imadd(somme,0);
     total= immad(total,0);
et du coup ma moyenne finale = 0 pour l'ensemble de l'image. Comment faire pour lui dire de ne pas prendre en compte seulement les pixels qui sont des NaN?

Merci encore pour toute l'aide que vous pouvez m'apporter depuis ma découverte de Matlab et des joies de la programmation!!