【问题标题】:Scipy Euclidean distance between two points两点之间的Scipy欧几里得距离
【发布时间】:2018-07-26 07:37:49
【问题描述】:

以下计算两点之间欧式距离的代码返回[[9.]]

from scipy import spatial
d1 = [[11 , 3]]
d2 = [[2 , 3]]
print(spatial.distance.cdist(d1 , d2 ,  "euclidean"))

但是这两点之间的欧几里得距离是3?

欧几里得距离是否正确实现?

【问题讨论】:

  • 11-2=9... 真的。
  • 两个点的y坐标相同,都是3,所以连接点的线是水平的,它的长度是x坐标之间的差,即11-2=9。

标签: python scipy scipy-spatial


【解决方案1】:

欧几里得距离的公式如下: dist((x, y), (a, b)) = √((x - a)² + (y - b)²)

这给出了: = √((11 - 2)² + (3 - 3)²) = √(9)² = 9

【讨论】:

    【解决方案2】:

    距离是 9。欧几里得距离是 平方差之和的根。所以你有 sqrt( (11-2)^2 ) 这是 sqrt( 9^2 ) 这是 9

    【讨论】:

      猜你喜欢
      • 2011-01-29
      • 2023-03-25
      • 2013-02-12
      • 2020-09-25
      • 2019-06-19
      • 2021-01-30
      • 2023-03-12
      • 1970-01-01
      • 2014-05-31
      相关资源
      最近更新 更多