使用 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中文網其他相關文章!