用于在Matlab中循环到矢量形成的性能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于在Matlab中循环到矢量形成的性能相关的知识,希望对你有一定的参考价值。
在Matlab中处理循环到矢量形成时遇到了一些麻烦。这是图像处理部分。(关于控制光线)我的orignal soruce代码如下。
for i=1:1:p1
for j=1:q1
if A(i,j) <=25
A(i,j) =0;
end
end
end
如何将此代码更改为vector以提高性能?我已经检查了这个网址(https://mathworks.com/help/matlab/matlab_prog/vectorization.html)。
答案
您需要使用逻辑索引:
I = A<=25;
是一个逻辑数组,它是true
,其中A
小于或等于25.您可以使用此数组索引到A:
A(I) = 0;
将A
的元素设置为0
,I
为真。
这可以全部写成一个语句:
A(A<=25) = 0;
[我确定此前已经问过这个问题,但我发现没有重复。]
以上是关于用于在Matlab中循环到矢量形成的性能的主要内容,如果未能解决你的问题,请参考以下文章