HOWTO · NumPy

NumPy-Einheitsvektor

Es gibt zwei Hauptmethoden, die verwendet werden können, um ein NumPy-Array in Python auf einen Einheitsvektor zu normalisieren, die Funktion numpy.linalg.norm() und den selbstdefinierten Ansatz.

Auf dieser Seite

In diesem Tutorial wird die Methode zum Normalisieren eines NumPy-Arrays auf einen Einheitsvektor in Python erläutert.

Einheitsvektor aus NumPy-Array mit der Funktion numpy.linalg.norm() holen

Ein Vektor ist eine Größe, die sowohl eine Größe als auch eine Richtung hat. Ein Einheitsvektor ist ein Vektor, dessen Betrag gleich eins ist. Mit Hilfe der Funktion numpy.linalg.norm() können wir einen Vektor auf seinen entsprechenden Einheitsvektor normieren. Die Bibliothek numpy.linalg enthält viele Funktionen rund um die lineare Algebra. Wir können die Funktion norm() innerhalb von numpy.linalg verwenden, um die Norm eines Vektors zu berechnen. Wir können den Vektor durch seine Norm dividieren, um den Einheitsvektor des Vektors zu erhalten.

import numpy as np

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

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

Ausgabe:

[0.26726124 0.53452248 0.80178373]

Den Vektor haben wir zuerst mit der Funktion numpy.array() erstellt. Wir haben dann den Einheitsvektor des Vektors berechnet, indem wir den Vektor durch die Norm des Vektors geteilt haben und das Ergebnis im unit_vector gespeichert.

Holen Sie den Einheitsvektor aus dem NumPy-Array mit dem selbstdefinierten Ansatz

Wir können den Einheitsvektor auch berechnen, ohne die Funktion norm() innerhalb der Bibliothek numpy.linalg in Python zu verwenden. Wir können die Norm finden, indem wir die Quadratwurzel der Summe der Quadrate jedes Elements innerhalb des Vektors berechnen. Wir können dann den Einheitsvektor berechnen, indem wir den Vektor durch seine Norm dividieren. Siehe das folgende Codebeispiel.

import numpy as np

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

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

Ausgabe:

[0.26726124 0.53452248 0.80178373]

Den Vektor haben wir zuerst mit der Funktion numpy.array() erstellt. Wir haben dann den Einheitsvektor des Vektors berechnet, indem wir den Vektor durch die Norm des Vektors geteilt haben und das Ergebnis im unit_vector gespeichert.