Come normalizzare un vettore in python
Per calcolare il versore di un vettore n-dimensionale creo una funzione usando la libreria numpy.
def versore(vettore):
y=vettore/numpy.linalg.norm(vettore)
return y
versore(x)
Dove x è un oggetto contenente il vettore da normalizzare.
La funzione effettua la normalizzazione del vettore e lo trasforma in un versore.
Cos'è un versore? Il versore è il rapporto tra un vettore v e la norma ||v|| del vettore stesso.
Un esempio pratico
Importo il modulo numpy nell'interprete di python.
import numpty
Poi definisco la funzione versore() usando la funzione linalg.norm di numpy.
def versore(vettore):
return vettore/numpy.linalg.norm(vettore)
Creo una variabile vettore (V) tramite la variabile array:
v=numpy.array([1,2,3])
Poi richiamo la funzione versore() passandogli il vettore v come argomento in input.
versore(v)
La funzione restituisce il vettore normalizzato ossia il suo versore.
array([0.26726124, 0.53452248, 0.80178373])
Ogni elemento del versore è ottenuto dividendo l'elemento del vettore v con la norma ||v|| del vettore stesso.
La funzione può essere usata anche per normalizzare gli elementi di una matrice.
E così via