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.

 채택된 답변

Ameer Hamza
Ameer Hamza 2020년 11월 6일

1 개 추천

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

댓글 수: 6

Nurul Ain Basirah Zakaria
Nurul Ain Basirah Zakaria 2020년 11월 7일
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 2020년 11월 8일
편집: Ameer Hamza 2020년 11월 8일
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.
Nurul Ain Basirah Zakaria
Nurul Ain Basirah Zakaria 2020년 11월 8일
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.
Ameer Hamza
Ameer Hamza 2020년 11월 8일
편집: Ameer Hamza 2020년 11월 8일
You also need to pass lon, lat in the 2nd call to pcolor too
pcolor(lon,lat,newfile)
Nurul Ain Basirah Zakaria
Nurul Ain Basirah Zakaria 2020년 11월 8일
sir, thank you very much. excuse me for my slow brain.
Ameer Hamza
Ameer Hamza 2020년 11월 8일
I am glad to be of help! :)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

태그

Community Treasure Hunt

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

Start Hunting!

Translated by