Creating a loop for matrix multiplication
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi. I am trying to create a loop to multiply two matricies 40 times such that A*B0=B1 and A*B1=B2 and so on. So far I have got this
%
a=1-0.0277;
b=(1/15)*(1-0.008);
c=0.0215*a;
d=(14/15)*(1-0.008);
A=[[a,b];[c,d]];
B0=[6820;2140];
B=[B0];
for j=1:40
B1=A*B0;
B0=B1;
B=[B;B1];
disp(round(B(j)))
end
plot(B)
It does work but the result comes up as a list of all the values together and I want it to be a in a 1x2 matrix format.
Can anyone help? Thank you
5 commentaires
John D'Errico
le 12 Mai 2014
NO NO NO NO. Do not create 81 different named variables. Learn to use arrays of variables. Your code will be the better for it. Your mental health a bit better too, because your code will not drive you crazy.
Réponses (1)
Wojtek
le 13 Mai 2014
1 commentaire
Jos (10584)
le 13 Mai 2014
for i=1:41,
C = [C B(2*i-1:2*i)]
end
is exactly the same as
C = B(1:82)
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!