Convert the code to parallel compute.The error says line 1:unable to perform assignment because the index on the left is not compatible with the size on the right.If I remove line 8 ,9,the program runs well.Can't I use loop variable i in parfor?

1 次查看(过去 30 天)
parfor i=100:1438
I=Im(:,:,i);
I = AnisotropicDiffusion(0.01,0.002,I);
[Ex,Ey] = gradient(I);
f = sqrt(Ex.*Ex+Ey.*Ey);
[u,v] = GVF(f, 0.08, 200);
mag = sqrt(u.*u+v.*v);
**px(i) = u./(mag+1e-10);
py(i) = v./(mag+1e-10);**
end

回答(1 个)

Walter Roberson
Walter Roberson 2018-10-27
We do not know the size of the variables returned by the function GVF, but the way the code is written implies that u and v are vectors. If they are then normalized u would be a vector but you are trying to store it in a scalar location.

类别

Help CenterFile Exchange 中查找有关 Text Analytics Toolbox 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by