How to vectorize the loops
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Dear all,
Could anyone tell me how to vectorize the follow loops:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/156540/image.png)
Best regards.
Yeping Sun
4 commentaires
Andrei Bobrov
le 22 Sep 2016
Modifié(e) : Andrei Bobrov
le 22 Sep 2016
Your code should be:
ev = exp(dv(:))';
Hr = zeros(40,40);
for ii = 1:40
for jj = 1:40
Hr(ii,jj) = ev*delta_2(:,ii,jj);
end
end
Vectorize form see my answer in part 3.
Réponses (1)
Andrei Bobrov
le 22 Sep 2016
Modifié(e) : Andrei Bobrov
le 22 Sep 2016
if dv -scalar:
out = permute(sum(delta*exp(dv)),[2,3,1]);
if dv - vector:
out = permute(sum(...
reshape(sum(bsxfun(@plus,reshape(delta,[],1),exp(dv(:)')),2),size(delta))...
),[2,3,1]);
part 3
ev = exp(dv)';
[~,n,k] = size(delta_2);
out = reshape(ev*reshape(delta_2,k,[]),n,[]);
0 commentaires
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements 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!