Maison >développement back-end >Tutoriel Python >Comment NumPy peut-il calculer efficacement la distance euclidienne entre deux points 3D ?
Calcul de la distance euclidienne avec NumPy
Dans l'espace 3D, étant donné deux points a = (ax, ay, az) et b = (bx , by, bz), la distance euclidienne entre eux s'exprime comme suit :
dist = sqrt((ax-bx)^2 (ay-by)^2 (az-bz)^2)
Comment NumPy peut-il être utilisé pour calculer cette distance ?
En utilisant NumPy, vous avoir des tableaux a et b représentant les deux points :
import numpy
a = numpy.array((ax, ay, az))
b = numpy.array((bx, by, bz))
Solution :
Pour résoudre ce problème, utilisez numpy.linalg.norm :
dist = numpy.linalg.norm(a-b)
La valeur par défaut du paramètre ord dans numpy.linalg.norm est 2, correspondant à la norme l2. Comme la formule de distance euclidienne représente la norme l2, ce calcul mesure avec précision la distance entre les points.
Cette fonctionnalité tire son fondement théorique de l'Introduction au Data Mining, comme illustré ci-dessous :
[Image de l'explication théorique de l'Introduction au Data Mining]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!