ホームページ >バックエンド開発 >Python チュートリアル >NumPy は 2 つの 3D 点間のユークリッド距離を効率的に計算するにはどうすればよいですか?
NumPy によるユークリッド距離の計算
3D 空間で、2 つの点 a = (ax, ay, az) および b = (bx) が与えられるとします。 、by、bz)、それらの間のユークリッド距離が表されます。 as:
dist = sqrt((ax-bx)^2 (ay-by)^2 (az-bz)^2)
NumPy を使用してこの距離を計算するにはどうすればよいでしょうか?
NumPy を使用すると、2 つの点を表す配列 a と b が得られます。
import numpy
a = numpy.array((ax, ay, az))
b = numpy.array((bx, by, bz))
解:
これを解決するには、活用してくださいnumpy.linalg.norm:
dist = numpy.linalg.norm(a-b)
numpy.linalg.norm の ord パラメーターのデフォルト値は 2 で、l2 ノルムに対応します。ユークリッド距離の公式は l2 ノルムを表すため、この計算ではポイント間の距離が正確に測定されます。
この機能は、以下に示すように、データ マイニングの概要から理論的基礎を引き出しています。
【データマイニング入門の理論説明イメージ】
以上がNumPy は 2 つの 3D 点間のユークリッド距離を効率的に計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。