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

NumPy 如何有效率地計算 3D 空間中的歐氏距離?

Susan Sarandon
Susan Sarandon原創
2024-12-10 10:35:10934瀏覽

How Can NumPy Efficiently Calculate Euclidean Distance in 3D Space?

使用NumPy 求3D 空間中的歐氏距離

處理三維點時,例如:


處理三維點時,例如:

`

a = (ax, ay, az)

b = (bx, by, bz)

``


確定它們之間的距離變得至關重要。歐氏距離,由下列公式給出:

``

dist = sqrt((ax-bx)^2 (ay-by)^2 (az-bz)^2)

` `

可以使用NumPy 輕鬆計算。


要實現這一點,請利用numpy.linalg.norm,如下所示:

``
import numpy
a = numpy.array((ax, ay, az))

b = numpy.array(( bx, by, bz))

距離 = numpy.linalg.norm(a-b)``這裡要注意的是 numpy.linalg.norm 的預設序數參數 (ord) 設定為 2。這其實與歐幾里德距離,本質上是

l2範數

.

要進一步了解歐氏距離和範數的理論基礎,請深入研究經典著作《資料探勘導論》。

以上是NumPy 如何有效率地計算 3D 空間中的歐氏距離?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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