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

 Akzeptierte Antwort

Jos (10584)
Jos (10584) am 8 Jun. 2019

1 Stimme

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

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by