Effacer les filtres
Effacer les filtres

How to average every n files in a cell array?

1 vue (au cours des 30 derniers jours)
Chalita
Chalita le 15 Juil 2018
Hi.I'm really new to matlab. I have about 1,000 cells in my cell array. How to, instead of taking average across all cells, take average every 4 cells. That is, instead of 1 output cell, I should have 1,000/4 cells. Below is what I have so far. The output (DaySMAv) from this is a single cell from averaging all cells in DATA, which is not what I want.
DATA = cat(3,data{:}); DaySMAv = mean(DATA,3);
Thanks.

Réponse acceptée

Jan
Jan le 15 Juil 2018
DATA = cat(3, data{:});
siz = size(DATA);
DATA = reshape(DATA, siz(1), siz(2), 4, []);
DaySMAv = squeeze(mean(DATA, 3));
  1 commentaire
Chalita
Chalita le 16 Juil 2018
Jan, thanks a lot. It worked!!

Connectez-vous pour commenter.

Plus de réponses (1)

Hernaldo Leyton
Hernaldo Leyton le 15 Nov 2018
Hi, I have a similar example but there are 409 cell arrays and I need to average every 24, that is 409/24, so when reshape is applied it does not work. Please, can you help me with an alternative?
Thank you

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