JAN*_*JAN 2 matlab loops for-loop vectorization
如果我有 :
for i=1:n
for j=1:m
if outputImg(i,j) < thresholdLow
outputImg(i,j) = 0;
elseif outputImg(i,j)> thresholdHigh
outputImg(i,j) = 1;
end
end
end
Run Code Online (Sandbox Code Playgroud)
甚至更糟:
for i=1:n
for j=1:m
for k=1:q
% do something
end
end
end
Run Code Online (Sandbox Code Playgroud)
我如何不同实现这一点,没有for?
您可以使用逻辑条件代替第一个循环,例如:
outputImg(outputImg<thresholdLow)=0;
outputImg(outputImg>thresholdHigh)=1;
Run Code Online (Sandbox Code Playgroud)
当然还有许多其他等效方法可以使用逻辑运算符...
对于第二个循环,您需要更具体,但我认为您掌握了逻辑条件技巧.