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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-31 04:32:16942ブラウズ

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

NumPy を使用したユークリッド距離の計算

3D 空間内の 2 つの点が与えられ、NumPy 配列 a および b として表されます。あなたの目標は、これらの点間のユークリッド距離を計算することです。

2 つの点間のユークリッド距離は、次の式を使用して計算されます。

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

NumPy でこの距離を計算するには、次を利用できます。 numpy.linalg.norm 関数。この関数は、ベクトルの長さであるベクトル ノルムを計算します。 2 点間のユークリッド距離は、単純にそれらの差の 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 中国語 Web サイトの他の関連記事を参照してください。

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