Grid data into monthly average?

2 views (last 30 days)
Hydro
Hydro on 10 Dec 2014
Commented: Hydro on 10 Dec 2014
Hello All,
I have a grid data set for 32 years (384 months) in the form A=(180*360*384), I want to find monthly average for the January. that means average for 32 years for January. I tried to reshape the data however, its not working, can somebody help me out here please?
I am trying with this
R=reshape (A,12,32)
However, i am getting error.
Thanks
  2 Comments
dpb
dpb on 10 Dec 2014
What, precisely, is the storage arrangement again? Is it 3D of A(180,364,384) or is it simply a vector of length(180*364*384)? What do the 180 and 364 refer to; 364 seems peculiar if is days instead of 365 or is that a typo?
The key here is where are the values for Jan 1 for year one and subsequent years -- not exactly sure.
Hydro
Hydro on 10 Dec 2014
My apologies its 384. they shows monthly data (32 years in total). while 180 is latitude and 360 is longitude. So all it means the spread for the entire globe (1 degree unit) for the 32 years. I am really struggling with this and would appreciate any help.

Sign in to comment.

Accepted Answer

Mohammad Abouali
Mohammad Abouali on 10 Dec 2014
Edited: Mohammad Abouali on 10 Dec 2014
You are on right track:
Use this:
% Making some sample random data
A=rand(180,360,384);
% reshaping
Areshaped=reshape(A,180,360,12,32);
% Averaging along the 4th dimension (year)
Amean=mean(Areshaped,4);
size(Amean)
180 360 12
  2 Comments
Hydro
Hydro on 10 Dec 2014
Assalam-O-Alaikum Mohammad,
Many thanks for the help. So the average would be for every month for 32 years. Now i need to plot the January over the globe (my lat and long data) in the contour form.
Some of the function i am trying is
[lon lat]=Meshgrid(linspace(min(lon),max(lon)),linspace(min(lat),max(lat)));
contourf(lon, lat,Amean(:,4)); % but this would do for the entire 12 months?
Hydro
Hydro on 10 Dec 2014
i guess i am wrong in using meshgrid? I shouldn't use min and max as the data will then be plotted wrongly.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!