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

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

Mary-Kate Olsen
發布: 2024-12-31 04:32:16
原創
954 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板