Storing Matrices from a for loop

1 view (last 30 days)
mattzoe on 8 Jun 2019
Commented: madhan ravi on 8 Jun 2019
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
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

Accepted Answer

Jos (10584)
Jos (10584) on 8 Jun 2019
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}
  1 Comment
madhan ravi
madhan ravi on 8 Jun 2019
Also variables could be preallocated.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!