Heim >Backend-Entwicklung >Python-Tutorial >Wie kann NumPy den euklidischen Abstand zwischen zwei 3D-Punkten effizient berechnen?
Berechnung des euklidischen Abstands mit NumPy
Im 3D-Raum sind zwei Punkte a = (ax, ay, az) und b = (bx) gegeben , by, bz), der euklidische Abstand zwischen ihnen wird ausgedrückt als:
dist = sqrt((ax-bx)^2 (ay-by)^2 (az-bz)^2)
Wie kann NumPy verwendet werden, um diesen Abstand zu berechnen?
Mit NumPy können Sie haben Arrays a und b, die die beiden Punkte darstellen:
import numpy
a = numpy.array((ax, ay, az))
b = numpy.array((bx, by, bz))
Lösung:
Um dieses Problem zu lösen, nutzen Sie numpy.linalg .norm:
dist = numpy.linalg.norm(a-b)
Der Standardwert des ord-Parameters in numpy.linalg.norm ist 2, entsprechend der l2-Norm. Da die euklidische Abstandsformel die l2-Norm darstellt, misst diese Berechnung genau den Abstand zwischen den Punkten.
Diese Funktionalität bezieht ihre theoretische Grundlage aus der Einführung in Data Mining, wie unten dargestellt:
[Bild der theoretischen Erklärung aus der Einführung in Data Mining]
Das obige ist der detaillierte Inhalt vonWie kann NumPy den euklidischen Abstand zwischen zwei 3D-Punkten effizient berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!