使用 NumPy 计算欧几里得距离
给定 3D 空间中的两个点,表示为 NumPy 数组 a 和 b。您的目标是计算这些点之间的欧几里德距离。
两点之间的欧几里德距离使用以下公式计算:
dist = sqrt((ax-bx)^2 + (ay-by)^2 + (az-bz)^2)
要使用 NumPy 计算此距离,您可以使用numpy.linalg.norm 函数。该函数计算向量范数,即向量的长度。两点之间的欧几里得距离只是它们差值的 l2 范数。
因此,您可以按如下方式计算距离:
import numpy a = numpy.array((ax, ay, az)) b = numpy.array((bx, by, bz)) dist = numpy.linalg.norm(a - b)
numpy.linalg.norm 函数采用向量作为输入并返回其范数。该函数中ord参数的默认值为2,对应l2范数,也称为欧氏距离。
为了更深入的了解欧氏距离及其与l2的关系规范,参考《数据挖掘导论》一书摘录。
以上是如何使用 NumPy 高效计算 3D 空间中的欧氏距离?的详细内容。更多信息请关注PHP中文网其他相关文章!