Yearly average but keeping matrix dimensions

8 次查看(过去 30 天)
Hello
I am trying to compute the yearly average of a 365x121x240 array.
What I used to do before is:
average=nanmean(mat,1);
squeezenan=squeeze(mat,1);
This will give me the average but in a matrix with dimensions 121x240.
But in this case, I want to take the average of the 365 days, while keeping the new matrix dimensions as 365x121x240.
  2 个评论
the cyclist
the cyclist 2020-3-9
For the moment, let's ignore the 3rd dimension.
Suppose matrix is this:
mat = [1 2;
4 5];
The mean along the 1st dimension is
average = [2.5 3.5];
How would you have wanted the 1st dimension treated, if you had wanted it to stay length 2? Did you want
average = [2.5 3.5
2.5 3.5];
?
redlush
redlush 2020-3-10
Yes, I would essentially just repeat the average.

请先登录,再进行评论。

回答(1 个)

the cyclist
the cyclist 2020-3-10
repavgmat = repmat(mean(mat,1),[size(mat,1) 1 1]);

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by