How do I take average of lat long data of a NetCDF file? Facing problem!
Afficher commentaires plus anciens
I am having a NetCDF file with sst variable. I have an array named sstdata which is a 1440x168x289 double. (long x lat x time). I need to take domain average of sstdata so that it only varies with time to get a average plot w.r.t time. I have written the following code:
k=0;
for m=drange(1:1440)
for n=drange(1:168)
k=k+sstdata(m,n,:);
end
end
k=k./1440;
k=k./168;
But I am getting only a 1 x 1 x 289 double which only has NaN and zeros as its values. Is there anything wrong with the code? Please help!
Réponses (1)
KSSV
le 21 Mai 2018
Read about mean. You read the whole variable of size 1440x168x289 into workspace and use mean. mean accepts dimensions...you have to use mean on third dimension.
sst = ncread(filename,'variable') ; %read sst data here
iwant = mean(sst,3) ;
4 commentaires
Lavnish Gupta
le 21 Mai 2018
KSSV
le 21 Mai 2018
That means you want mean of whole matrix at a time step?
Lavnish Gupta
le 21 Mai 2018
KSSV
le 21 Mai 2018
That's fine....you can use:
iwant = mean(mean(A)) ;
Catégories
En savoir plus sur NetCDF dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!