Dans MATLAB, le code vectorisé est plus rapide que l'utilisation de boucles for-loops. J'ai essayé de le faire mais je ne comprends pas complètement comment cela fonctionne. J'espérais que quelqu'un pourrait me montrer comment améliorer ces 2 boucles et une boucle avec des indices changeants pour que je puisse tourner la tête. Toute aide serait incroyable.Vectorisation des boucles
width= 700;
height= 600;
fg= zeros(height, width);
for i= 1: height
for j= 1: width
fg(i, j) = 0;
while ((match== 0)&& (k<= M))
if (w(i, j, rank_ind(k))>= thresh)
if (abs(u_diff(i, j, rank_ind(k)))<= D* sd(i, j, rank_ind(k)))
fg(i, j)= 0;
match= 1;
else
fg(i, j)= fr_bw(i, j);
end
end
k= k+ 1;
end
end
end
Remarque w
, u_diff
, sd
, rank_ind
et fr_b
sont tous les tableaux
S'il vous plaît ne pas dupliquer vos questions: [Matlab vectorisation pour les boucles] (http://stackoverflow.com/questions/5820229/ matlab-vectorizing-for-loops). Au lieu de cela, vous devez modifier la question d'origine pour mieux refléter votre problème. – gnovice
J'ai re posté la dernière question était confuse et le code était incorrect J'ai marqué pour être retiré et re posté avec le code correct afin qu'il puisse être compris. – user729506
@ user729506: Vous auriez pu modifier votre question précédente pour la rendre plus claire. Si vous pensez que la question précédente ne peut pas être récupérée en la modifiant, vous pouvez la supprimer vous-même et faire une pause pour réfléchir à la manière d'améliorer la question avant de la publier à nouveau. – abcd