Storing Matrices from a for loop

1 回表示 (過去 30 日間)
mattzoe
mattzoe 2019 年 6 月 8 日
コメント済み: madhan ravi 2019 年 6 月 8 日
Hello everyone,
I want to multiply a matrix with a vector, in a for loop. In this case q is a continuous variable.
for q = 0:2:8;
B = [q, sin(q) ;
cos(q), 3*q ;
q, cos(q)]
h = [q; sin(q); 4]
A = B.' * h
end
Now my problem is, that I don't know how to store the result of B, h and A of each loop.
Or is there another solution without a for loop to fill the matrix B with each step? That would be easier for my code.
Best regards

採用された回答

Jos (10584)
Jos (10584) 2019 年 6 月 8 日
One option is to use an index to loop over the values, like this. You can than directly use that index to create a cell array to store the individual matrices A B and h. Like this
Qlist = 0:2:8
for k = 1:numel(Qlist)
q = Qlist(k) ;
B{k} = [q, sin(q) ;
cos(q), 3*q ;
q, cos(q)]
h{k} = [q; sin(q); 4]
A{k} = B{k}.' * h{k}
end
  1 件のコメント
madhan ravi
madhan ravi 2019 年 6 月 8 日
Also variables could be preallocated.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by