Average of 3d matrix

21 views (last 30 days)
Lilya on 9 Jun 2020
Hi All,
I have 3D matrix with dimension (61,57,273) the 273 is daily time. 39 weeks has 273 days.
I want to do a weekly average overtime to get (61,57,39).
result = reshape(data,61,57,39,7);
Data_mean = nanmean(result,4);
I am not sure about the reshaping. Any help would be appreciated to correct or suggest another way to do the average.
  1 Comment
mohamad shirgholami
mohamad shirgholami on 14 Dec 2020
I have 3D matrix with dimension (61,57,365) the 365 is daily time. I want to do a monthly average overtime to get (61,57,12). But the number of days each month is different. I would be grateful for your help

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 9 Jun 2020
result = reshape(data,61,57,7,39);
Data_mean = permute(nanmean(result,3), [1 2 4 3]) %permute gets rid of the singleton dimension that results
  1 Comment
Lilya on 9 Jun 2020
Thank you very much!!

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!