필터 지우기
필터 지우기

adding rows and storing into a matrix

조회 수: 1 (최근 30일)
zozo
zozo 2012년 1월 10일
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일
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개)

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by