How to improve a for
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Carlos
le 11 Oct 2014
Modifié(e) : Andrei Bobrov
le 11 Oct 2014
Hello, i want to do this operation:
f = -[Q(:,1)'*Q(:,1); Q(:,2)'*Q(:,2); Q(:,3)'*Q(:,3); Q(:,4)'*Q(:,4); Q(:,5)'*Q(:,5); Q(:,6)'*Q(:,6); Q(:,7)'*Q(:,7); Q(:,8)'*Q(:,8); Q(:,9)'*Q(:,9); Q(:,10)'*Q(:,10)];
i have thought to do this with a for
n=10;
i=1;
while i<n+1
f(i,1)=-[Q(:,i)'*Q(:,i)]; %save in columns
i=i+1;
end
but i think there must be some way to vectorize this easily. Could you help me?
Thank you.
0 commentaires
Réponse acceptée
Plus de réponses (2)
Jan
le 11 Oct 2014
The vectorization is better, but here is a cleaner and more efficient loop method:
f = zeros(10, 1); % pre-allocate!!!
for k = 1:10
f(k, 1) = -(Q(:,k)' * Q(:,k));
end
Andrei Bobrov
le 11 Oct 2014
Modifié(e) : Andrei Bobrov
le 11 Oct 2014
f = -dot(Q,Q).'
0 commentaires
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!