タグ付けされた質問 「vectorization」

2
オクターブ:ベクトルの2つの行列間の距離を計算します
N、M 2dベクトルをそれぞれ表す2つの行列Nx2、Mx2があるとします。各ベクトルペア(n、m)間の距離を計算する簡単で良い方法はありますか? もちろん、簡単ですが非効率な方法は次のとおりです。 d = zeros(N, M); for i = 1:N, for j = 1:M, d(i,j) = norm(n(i,:) - m(j,:)); endfor; endfor; 私が見つけた最も近い答えはbsxfun、次のように使用されています: bsxfun(inline("x-y"),[1,2,3,4],[3;4;5;6]) ans = -2 -1 0 1 -3 -2 -1 0 -4 -3 -2 -1 -5 -4 -3 -2

3
コードがコンパイラーによってベクトル化されているかどうかはどのようにしてわかりますか?
ルックアップと計算のコストに対するJed Brownの回答で例示されているように、ベクトル化された浮動小数点演算とベクトル化されていない浮動小数点演算を使用すると、コードがはるかに高速になります。最新のコンパイラの多くは、自動ベクトル化を実行できると主張しています。コードのどの部分が正常にベクトル化されているのですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.