-1
場合とMATLABでのforループベクトル化:これは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