NumPy Unit Vector

Muhammad Maisam Abbas 30 gennaio 2023
  1. Ottieni un vettore di unità dall’array NumPy con la funzione numpy.linalg.norm()
  2. Ottieni un vettore di unità dall’array NumPy con l’approccio autodefinito
NumPy Unit Vector

Questo tutorial discuterà il metodo per normalizzare un array NumPy in un vettore di unità in Python.

Ottieni un vettore di unità dall’array NumPy con la funzione numpy.linalg.norm()

Un vettore è una quantità che ha una grandezza e una direzione. Un vettore unitario è un vettore il cui modulo è uguale a uno. Possiamo normalizzare un vettore al suo corrispondente vettore unitario con l’aiuto della funzione numpy.linalg.norm(). La libreria numpy.linalg contiene molte funzioni relative all’algebra lineare. Possiamo usare la funzione norm() all’interno di numpy.linalg per calcolare la norma di un vettore. Possiamo dividere il vettore per la sua norma per ottenere il vettore unitario del vettore.

import numpy as np

vector = np.array([1, 2, 3])

unit_vector = vector / np.linalg.norm(vector)
print(unit_vector)

Produzione:

[0.26726124 0.53452248 0.80178373]

Per prima cosa abbiamo creato il vettore con la funzione numpy.array(). Abbiamo quindi calcolato il vettore unitario del vettore dividendo il vettore con la norma del vettore e salvato il risultato all’interno di unit_vector.

Ottieni un vettore di unità dall’array NumPy con l’approccio autodefinito

Possiamo anche calcolare il vettore unitario senza usare la funzione norm() all’interno della libreria numpy.linalg in Python. Possiamo trovare la norma calcolando la radice quadrata della somma dei quadrati di ogni elemento all’interno del vettore. Possiamo quindi calcolare il vettore unitario dividendo il vettore per la sua norma. Vedere il seguente esempio di codice.

import numpy as np

vector = np.array([1, 2, 3])

unit_vector = vector / (vector ** 2).sum() ** 0.5
print(unit_vector)

Produzione:

[0.26726124 0.53452248 0.80178373]

Per prima cosa abbiamo creato il vettore con la funzione numpy.array(). Abbiamo quindi calcolato il vettore unitario del vettore dividendo il vettore con la norma del vettore e salvato il risultato all’interno di unit_vector.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn