How to store vectors from each for loop in a matrix
    조회 수: 7 (최근 30일)
  
       이전 댓글 표시
    
Hi I have a for loop. The result of every iteration is a rowvector. I want all rowvectors of the for loop stored as one matrix. Each row is the result of one iteration.
Simplified example:
if true
X= 1:0.1:2;
for i = 1:length(X)
A=4
B= 1:5
Y= A.*X(i)+B
end
end
The end result shoud be an 11 x 5 matrix. Indexing will give errors, so will starting with an empty array.
댓글 수: 4
  Stephen23
      
      
 2019년 10월 9일
				
      편집: Stephen23
      
      
 2019년 10월 9일
  
			You do not need a loop, just
>> A*X(:) + B % for MATLAB >= R2016b
Or for earlier versions use bsxfun:
>> bsxfun(@plus,A*X(:),B)
ans =
    5.0000    6.0000    7.0000    8.0000    9.0000
    5.4000    6.4000    7.4000    8.4000    9.4000
    5.8000    6.8000    7.8000    8.8000    9.8000
    6.2000    7.2000    8.2000    9.2000   10.2000
    6.6000    7.6000    8.6000    9.6000   10.6000
    7.0000    8.0000    9.0000   10.0000   11.0000
    7.4000    8.4000    9.4000   10.4000   11.4000
    7.8000    8.8000    9.8000   10.8000   11.8000
    8.2000    9.2000   10.2000   11.2000   12.2000
    8.6000    9.6000   10.6000   11.6000   12.6000
    9.0000   10.0000   11.0000   12.0000   13.0000
채택된 답변
  meghannmarie
      
 2019년 10월 9일
        
      편집: meghannmarie
      
 2019년 10월 9일
  
      if true
    X= 1:0.1:2;
    A = 4;
    B = 1:5;
    Y = nan(length(X),length(B));
    for i = 1:length(X)
        Y(i,:) = A.*X(i)+B;
    end
end
댓글 수: 0
추가 답변 (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!



