В MATLAB векторизованный код работает быстрее, чем использование циклов for.Я пытался сделать это, но я не до конца понимаю, как это работает.Я надеялся, что кто-нибудь покажет мне, как улучшить эти 2 для циклов и цикла while с изменением индексов, чтобы я мог обдумать это.Любая помощь будет потрясающей.
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
Примечание w
, u_diff
, sd
, rank_ind
и fr_b
- все массивы