How to find the mean after every n columns?

Hi all
In order to find the mean column-wise, I know that we should code as follows:
Answer = nanmean(mymatrix,2); %%mymatrix has many columns %%Answer gives 1 column
Now I have a matrix of size 770 rows x 5760 columns. But I would like to find the mean after EVERY 4 columns and store them in a new matrix. So my final answer matrix will have 770 rows x 1440 columns. How can I do that? Any help is appreciated!
Thank you.

 採用された回答

Sean de Wolski
Sean de Wolski 2015 年 3 月 4 日

2 投票

This could be done with a simple for-loop or a slightly trickier reshape:
% Simple data
x = repmat(1:16,3,1)
nrows = 4; % rows to mean
meanby4 = squeeze(nanmean(reshape(x.',nrows,size(x,2)./nrows,[]))).'

1 件のコメント

B.kun
B.kun 2015 年 3 月 4 日
Thank you! This works perfect! :)

サインインしてコメントする。

その他の回答 (1 件)

Giorgos Papakonstantinou
Giorgos Papakonstantinou 2015 年 3 月 4 日
編集済み: Giorgos Papakonstantinou 2015 年 3 月 4 日

0 投票

NewMatrix = mymatrix(:,1:4:end);
Youranswer = nanmean(NewMatrix , 2);

2 件のコメント

Sean de Wolski
Sean de Wolski 2015 年 3 月 4 日
I think OP wants the mean of the first four columns, mean of the second four columns etc., not skipping 1:3, 5:7.
B.kun
B.kun 2015 年 3 月 4 日
Thank you. I tried this but it didn't give right results. (I guess it skipped my data in between every 1st and 4th column).

サインインしてコメントする。

質問済み:

2015 年 3 月 4 日

コメント済み:

2015 年 3 月 4 日

Community Treasure Hunt

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

Start Hunting!

Translated by