Yearly average but keeping matrix dimensions

6 vues (au cours des 30 derniers jours)
redlush
redlush le 9 Mar 2020
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 commentaires
the cyclist
the cyclist le 9 Mar 2020
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 le 10 Mar 2020
Yes, I would essentially just repeat the average.

Connectez-vous pour commenter.

Réponses (1)

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

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by