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!



