How to average every n files in a cell array?

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.

 채택된 답변

Jan
Jan 2018년 7월 15일

1 개 추천

DATA = cat(3, data{:});
siz = size(DATA);
DATA = reshape(DATA, siz(1), siz(2), 4, []);
DaySMAv = squeeze(mean(DATA, 3));

추가 답변 (1개)

Hernaldo Leyton
Hernaldo Leyton 2018년 11월 15일

0 개 추천

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

카테고리

도움말 센터File Exchange에서 Multidimensional Arrays에 대해 자세히 알아보기

질문:

2018년 7월 15일

답변:

2018년 11월 15일

Community Treasure Hunt

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

Start Hunting!

Translated by