>백엔드 개발 >파이썬 튜토리얼 >NumPy는 어떻게 두 3D 점 사이의 유클리드 거리를 효율적으로 계산할 수 있습니까?

NumPy는 어떻게 두 3D 점 사이의 유클리드 거리를 효율적으로 계산할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-09 14:22:14950검색

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

NumPy로 유클리드 거리 계산

3D 공간에서 두 점 a = (ax, ay, az) 및 b = (bx) , by, bz), 그들 사이의 유클리드 거리가 표현됩니다 as:

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

NumPy를 사용하여 이 거리를 어떻게 계산할 수 있나요?

NumPy를 사용하면 두 점을 나타내는 배열 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 매개변수의 기본값은 l2 표준에 해당하는 2입니다. 유클리드 거리 공식은 l2 표준을 나타내므로 이 계산은 점 사이의 거리를 정확하게 측정합니다.

이 기능은 아래 그림과 같이 데이터 마이닝 소개에서 이론적 기초를 가져옵니다.

[데이터마이닝 입문의 이론적 설명 이미지]

위 내용은 NumPy는 어떻게 두 3D 점 사이의 유클리드 거리를 효율적으로 계산할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.