【发布时间】:2018-12-09 14:52:45
【问题描述】:
我有一个 n x 3 形式的面孔列表“面孔”。
每行包含来自 n x 3 顶点列表的 3 个不同行的 3 个索引。 (所以每个值都是包含 3 个顶点坐标的行的索引。
在 n x 1 形式的向量“索引”中,我存储了我感兴趣的顶点索引。
现在我想看看我的向量“索引”中的这些索引在我的“面孔列表”中的什么位置。
目前我正在遍历我的面孔列表以获取“向量 s”,它具有“面孔列表”行的索引。
为了提高性能,我预先分配了带有零的“向量 s”。
有没有更快的方法来获得相同的结果?
s = zeros(9000000,1);
aa = 0;
for a = 1:size(indices,1)
[i,j] = find (faces == indices(a));
s(aa+1:aa + size(i,1),1) = i;
aa = aa + size(i,1);
end
ss = s(any(s,2),:);
faces = faces(ss(:,1),:);
感谢您的帮助。 不幸的是,我对 matlab 并不那么精通,并且仍然无法对我的代码进行矢量化。
【问题讨论】:
标签: matlab for-loop vectorization