ホームページ >バックエンド開発 >Python チュートリアル >NumPy は 2 つの 3D 点間のユークリッド距離を効率的に計算するにはどうすればよいですか?

NumPy は 2 つの 3D 点間のユークリッド距離を効率的に計算するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-09 14:22:14953ブラウズ

How Can NumPy Efficiently Calculate Euclidean Distance Between Two 3D Points?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。