How can I combine every Nth row of a matrix into a new matrix using a loop?
    조회 수: 2 (최근 30일)
  
       이전 댓글 표시
    
I have a huge matrix A:
A=[X,Y]
and would like to create a new matrix B using every Nth row of A:
B=[A(1,:); A((1+N),:); A((1+2N),:); ...; A((1+(length(X)-N)),:)]
where length(X)>>1000.
How can I create this new matrix B using a loop?
댓글 수: 0
채택된 답변
  Thomas
      
 2012년 10월 5일
        
      편집: Thomas
      
 2012년 10월 5일
  
      Is this what you want? You do not need to use loops
 % initial data
a=[1:10;11:20]' 
 % select  every 3rd row
 out = a(1:3:end,:)
댓글 수: 3
  Ransika Pathirana
 2020년 5월 10일
				If  i need to go through a for loop how am i going to do it?
Thank you!
  Walter Roberson
      
      
 2020년 5월 10일
				r__r_ = ceil(size(A,1)/N);
B = zeros(r__r_, size(A,2), 'like', A);
for r__r__ = 1 : r__r_
    B(r__r__,:) = A(1 - N + r__r__*N, :);
end
추가 답변 (0개)
참고 항목
카테고리
				Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




