How to find the mean after every n columns?
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
B.kun
am 4 Mär. 2015
Kommentiert: B.kun
am 4 Mär. 2015
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.
0 Kommentare
Akzeptierte Antwort
Sean de Wolski
am 4 Mär. 2015
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,[]))).'
Weitere Antworten (1)
Giorgos Papakonstantinou
am 4 Mär. 2015
Bearbeitet: Giorgos Papakonstantinou
am 4 Mär. 2015
NewMatrix = mymatrix(:,1:4:end);
Youranswer = nanmean(NewMatrix , 2);
2 Kommentare
Sean de Wolski
am 4 Mär. 2015
I think OP wants the mean of the first four columns, mean of the second four columns etc., not skipping 1:3, 5:7.
Siehe auch
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!