オクターブのユークリッド距離


16

Octaveの2つのベクトルのユークリッド距離をすばやく計算する方法があるかどうかを知りたいです。そのための特別な関数はないようですので、単に式を使用する必要がありsqrtますか?


これはOctaveのドキュメントを参照するか、適切なインターネット検索を行うことで答えを見つけることができるはずの基本的な質問であるため、反対票を投じられた可能性があります。ただし、「オクターブユークリッド」または「オクターブユークリッド距離」を検索しても、「オクターブノルム」ほど有用な結果が得られないことがわかります。
エレインヘイル

提案:次回は、「2つのベクトル間のMatlabの距離」のようなGoogleを使用します。Mathworksには、簡単に見つけられる集中化されたドキュメントがあります(公式のOctaveドキュメントマニュアルがありますが、見つけるには少し手間がかかる場合があります)。このような単純なことに対して、Octaveで同じ名前の関数が同じことをする可能性があります。
ステファンスミス

この質問に関する統計は、それ自体を物語っています。
ボートコーダー

回答:


31

2つのベクトル間のユークリッド距離は、それらの差の2ノルムであるため、

d = norm( x1 - x2 , 2 );

Octaveでトリックを行う必要があります。の2番目の引数をnorm省略すると、デフォルトで2ノルムが使用されることに注意してください。



0

以下に、ベクトルの配列(X)と単一のベクトルの間の距離を計算する方法をX(1, :)示します(例として):

distances = sqrt(sum((X - X(1, :)) .^ 2, 2));
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.