adding rows and storing into a matrix

Hello,
I have a matrix M of size 2880x501 containing 2880 rows. I want to select the first eight rows and all columns [that is, (1:8,:) ], add them and store the resulting row vector(1x501) in a variable 'out'. Then select the next 8 rows, add them and store the resulting row vector(again 1x501) into above variable 'out' and so on....
Finally, I shall have 360 combinations (of 8 rows each) and all these values should be stored in a single variable as
out(360x501)
Please help me achieve this.

댓글 수: 2

Andrei Bobrov
Andrei Bobrov 2012년 1월 10일
out = squeeze(sum(reshape(M.',size(M,2),8,[]),2)).'
zozo
zozo 2012년 1월 12일
thank you @andrei

댓글을 달려면 로그인하십시오.

 채택된 답변

Michael
Michael 2012년 1월 10일

0 개 추천

This may be possible without a loop but I don't have the knowledge, however you can loop over i:
for i = 1:360;
out(i,:) = sum(M((i-1)*8+1 : i*8, :));
end
sum automatically operates on the matrix M(1:8,:) and returns the 1x501 vector of sums down the columns.

추가 답변 (0개)

카테고리

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

질문:

2012년 1월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by