【发布时间】:2016-06-17 14:18:01
【问题描述】:
问题陈述
我想通过以下方式提高包含大量 for 循环的代码的速度。我在一次会议上交谈过的一位程序员提到,matlab 中的布尔运算比 for 循环运行得更快(对不起,我不是程序员,所以如果我错了,请告诉我)。
我有多个类似于此的循环:
for k= 1:length(source);
kk=source(1,k);
E(find(E(:,2)==kk),3)=0;
end
我试图通过这个循环实现的目标
通过这个循环,我想在 E 的第二列中找到与源中的值相等的所有值。在我找到第二列中的值的行中,我想将第三列设置为零。
问题 有没有办法把它写成matlab布尔矩阵运算?或者有没有其他方法可以改进编码以提高这类短 for 循环的速度?
【问题讨论】: