如果我有 :

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


甚至更糟:

for i=1:n
    for j=1:m
        for k=1:q
                % do something
        end
    end
end


没有for怎么能做到这一点?

最佳答案

除了第一个循环,您还可以使用逻辑条件,例如:

 outputImg(outputImg<thresholdLow)=0;
 outputImg(outputImg>thresholdHigh)=1;


当然,还有许多其他等效的方法可以使用逻辑运算符来实现。

对于第二个循环,您需要更具体,但我认为您已掌握了逻辑条件的技巧。

关于matlab - 如何避免在Matlab中嵌套的for循环?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14164185/

10-13 00:51