2017-02-16 24 views
1

私は点point=[x y]とベクトルvec=[X Y]を持っています。XYは多くの点でx、yの値を含むベクトルです。私は次のコードでpointからvec内のすべての点のユークリッド距離を計算していますベクトルと点の距離

diff=vec-point; 
    squared=diff.*diff; 
    distances=sqrt(sum(squared,2)); 

私はpdist()機能を見てきましたが、私のコードでそれを使用するための良い方法を見つけることができませんでした。そうするよりエレガントな方法がありますか?

答えて

1

m = [point; vec]、次にdistances=pdist(m, 'euclidean')などを使用できますが、O(n)ではなくO((n+1)ˆ2)の距離が計算されます。コードがパフォーマンス上重要でない場合、私はそれについて心配することはなく、もっとエレガントで分かりやすいコードを使用するだけです。

関連する問題