首頁 >後端開發 >Python教學 >如何使用 NumPy 高效計算 3D 空間中的歐氏距離?

如何使用 NumPy 高效計算 3D 空間中的歐氏距離?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-31 04:32:16975瀏覽

How to Efficiently Calculate Euclidean Distance in 3D Space Using NumPy?

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn