Vector form of for loop?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a piece of code that works fine. But it has a for loop as below:
M=5;
N=10;
abc=0.0;
for m1=1:M*N
abc=abc+(abs(yo(m1,1)-ye(m1,1))).^2;
end
abc=abc/(M*N);
e=abc;
What will be its vectored form to reduce the execution time?
1 commentaire
Réponse acceptée
Matt J
le 21 Nov 2022
Modifié(e) : Matt J
le 21 Nov 2022
e=norm(yo-ye).^2/M/N
4 commentaires
Matt J
le 21 Nov 2022
Modifié(e) : Matt J
le 21 Nov 2022
Also is it true for any lenght of vector u?
Yes, try it.
can you make me understand on the line:
Perhaps an example,
steerA=randi(5,3,2)
steerB=randi(50,3,2);
%original version
steerM = zeros(size(steerA, 1)*size(steerB, 1), size(steerA,2));
for idxK = 1 : size(steerM,2)
steerM(:, idxK) = kron(steerB(:, idxK), steerA(:, idxK));
end
%new version
steerM2=steerA.*permute(steerB,[3,2,1]);
%compare
steerM,steerM2
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrices and Arrays dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!