【发布时间】:2017-04-19 14:56:28
【问题描述】:
我有这部分代码运行时间很长,我想知道是否可以进行优化或矢量化以加快运行速度?
if intersect(pt, coord,'rows')
for t=1:size(pt,1)
for u=1:size(Mbb,1)
if pt(t,1)==Mbb(u,1)
img(pt(t,1),Mbb(u,2))=1;
end
end
end
end
【问题讨论】:
-
你最好提供数据寻求帮助
-
请提供一个最少组样本数据,每个人都可以用来运行你的代码。
-
排序了吗? Mbb(:,1) 的重复值? pt(:,1) 中的重复值?大概是整数值和严格正数?并且大概范围不是很大,因为您正在索引图像?看起来我们可以省略
coord交叉点,因为它不会与循环交互。 -
您可以使用
pdist2查找 0 距离,然后将其用作逻辑索引。无需循环。
标签: matlab for-loop optimization