Hi! How can I calculate the average for a 160x140x1x12 which are lat,lon,year and month. I want to calculate the average of month for one year.

 Accepted Answer

You can specify the dimension to the mean() function
M = rand(160,140,1,12);
M_new = mean(M, 4)

6 Comments

hi, can i ask. why when i plot a year, for 12 months, the output for y axis is 0-7 and x-axis is 20-105 but if i calculate the average and then i plot, both x and y axis is 20-140 and 20-160. But, y-axis should be 0-7 because of my latitude.
Ameer Hamza
Ameer Hamza on 8 Nov 2020
Edited: Ameer Hamza on 8 Nov 2020
How are you plotting the two figures? What is the command? Most probably, you are not passing the X and Y matrix in the second case.
The first one i use:
[m,n,p,o]=size(E);
>> for i=1:o
pcolor(lon,lat,E(:,:,:,i));
shading interp
colorbar
drawnow
end
and the size of E is 160 140 1 12. the outcome is like the first figure
but when i average/mean for the months(12);
size of new E is 160 and 140.
so i just pcolor(newfile), and the outcome is like the second figure above.
You also need to pass lon, lat in the 2nd call to pcolor too
pcolor(lon,lat,newfile)
sir, thank you very much. excuse me for my slow brain.
I am glad to be of help! :)

Sign in to comment.

More Answers (0)

Categories

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!