矢量和点之间的距离

时间:2017-02-16 12:08:41

标签: matlab euclidean-distance

我有一个点point=[x y]和一个向量vec=[X Y],其中XY是包含许多点的x,y值的向量。我使用以下代码计算vec point中所有点的欧氏距离:

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

我见过pdist()函数,但找不到在我的代码中使用它的好方法。有更优雅的方式吗?

1 个答案:

答案 0 :(得分:1)

您可以使用m = [point; vec]distances=pdist(m, 'euclidean')之类的内容,但它会计算O((n+1)ˆ2)距离,而不是您需要的O(n)。如果代码不是性能关键,我不会担心它,只需使用更优雅,更容易理解的代码。

相关问题