How to vectorize a for-loop?
Afficher commentaires plus anciens
Hello!
I would appreaciate any help vectorizing the for loop below. The problem i cannot solve is how to take out the constants from wdrive and multiply it with the rest, according to the loop below. I want to become better at vectorizing my MATLAB code so I would really appreciate any help! Thanks alot!
%S and R are square matrices (404*404).
%fc is a column vector
wdrive=0:1:800;
a2=zeros(2*dofs,(length(wdrive)));
b2=zeros(2*dofs,(length(wdrive)));
Amp=zeros(1,length(wdrive));
SRS=S*(R\S);
SRfc=S*(R\fc);
for i=1:length(wdrive)
a2(:,i)=(wdrive(i)^2*SRS+R)\(fs-wdrive(i)*SRfc);
b2(:,i)=(R)\(fc+wdrive(i)*S*a2(:,i));
Amp(i)=sqrt(a2(dofs-1,i)^2+b2(dofs-1,i)^2);
end
Réponse acceptée
Plus de réponses (1)
Samuel Hammarberg
le 18 Mai 2013
Modifié(e) : Matt J
le 19 Mai 2013
0 votes
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!