-1
這是一個Matlab代碼內檢查:向量化一個與如果循環
new=[];
for i=1:size(p,1)
if (alpha*p(i,1)+beta*p(i,2)+gamma*p(i,3)-sigma)>0
new=[new;p(i,:)];
end
end
這裏p
是大陣列等300000x3尺寸。 new
數組是通過從p
數組中刪除一些3元組獲得的。爲此,if
檢查完成。但是這需要很長時間。
我想向量化代碼,如獲得一個二進制數組,其中1爲保留點,0爲刪除點。然後使用這些標誌,我們可以更快地構建new
陣列。我對嗎?有人可以爲矢量化或加速上述代碼提供代碼嗎?
_「能有人給的代碼向量化或超速上面的代碼?」 _。對不起,這不是它如何在SO上工作。下次你寫一個問題時,首先嚐試自己對此進行矢量化並提供你的努力。你也很有可能自己設法做到這一點,並學習一些積極的副作用。 – patrik