MATLAB Norm der Zeilen einer Matrix
-
MATLAB Norm der Zeilen einer Matrix mit der Funktion
vecnorm()
-
MATLAB-Norm der Zeilen einer Matrix mit den Funktionen
sqrt()
undsum()
In diesem Tutorial wird das Ermitteln der Norm jeder Zeile einer Matrix mit den Funktionen vecnorm()
oder sqrt()
und sum()
in MATLAB erläutert.
MATLAB Norm der Zeilen einer Matrix mit der Funktion vecnorm()
Wir können die Funktion vecnorm()
von Matlab verwenden, um die Norm jeder Zeile einer Matrix zu nehmen. Die Funktion kann die euklidische und allgemeine Vektornorm eines Vektors, einer Matrix oder eines mehrdimensionalen Arrays finden.
Im Fall der euklidischen Norm nimmt die Funktion vecnorm()
das Quadrat aller Werte, findet ihre Summe und zieht dann die Quadratwurzel der Summe. Bei der allgemeinen Vektornorm verwendet die Funktion vecnorm()
den eingegebenen Wert als Potenz der Elemente.
Die grundlegenden Syntaxen der Funktion sind unten angegeben.
output = vecnorm(matrix)
output = vecnorm(matrix, p)
Die erste Syntax gibt die euklidische Norm oder die 2-norm
einer Matrix zurück. Die zweite Syntax gibt die allgemeine Vektornorm oder die p-norm
zurück, wobei der Wert von p
1, 2 oder Inf
sein kann.
Wenn der Wert von p
1 ist, ist die Norm gleich der Summe der Absolutwerte der Matrix. Wenn der Wert von p
2 ist, ist die allgemeine Vektornorm gleich der euklidischen Norm, und wenn der Wert unendlich ist, ist die Norm gleich dem Maximalwert in jeder Matrixspalte.
Im Fall eines Vektors ist die Ausgabe ein einzelner Wert, der die Norm des Vektors darstellt, und im Fall eines Arrays nimmt die Funktion die Norm entlang der ersten Dimension des Arrays, und ihre Größe sollte dies nicht tun gleich 1 sein.
Angenommen, wir übergeben eine Matrix in der Funktion vecnorm()
, gibt sie die Norm jeder in der Matrix vorhandenen Spalte zurück, aber wir können eine andere Syntax der Funktion vecnorm()
verwenden, um die Norm jeder Zeile von a zu finden Matrix.
Die Syntax der Funktion vecnorm()
zum Finden der Norm jeder Matrixzeile ist unten angegeben.
output = vecnorm(matrix, normType, dimension);
In dieser Syntax ist das zweite Argument der Normtyp, und sein Wert kann ein positiver Skalar sein. Standardmäßig ist der Wert des zweiten Arguments auf 2 gesetzt.
Das dritte Argument ist die Dimension der Matrix, entlang der die Norm berechnet wird. Im Fall einer Matrix können wir 2 für die Zeilendimension und 1 für die Spaltendimension verwenden.
Lassen Sie uns zum Beispiel die Norm einer Matrix entlang der Spalten- und Zeilendimensionen finden. Siehe den Code und die Ausgabe unten.
clc
clear
m = magic(3)
n1 = vecnorm(m)
n2 = vecnorm(m,2,2)
Ausgang:
m =
8 1 6
3 5 7
4 9 2
n1 =
9.4340 10.3441 9.4340
n2 =
10.0499
9.1104
10.0499
Im obigen Code haben wir die Funktion magic()
verwendet, um eine 3-mal-3-Matrix zu erstellen, um die Norm von Zeilen und Spalten zu finden. In der obigen Ausgabe können wir sehen, dass die Funktion vecnorm(m)
die Norm jeder Spalte und die Funktion vecnorm(m,2,2)
die Norm jeder Zeile der Matrix zurückgegeben hat.
MATLAB-Norm der Zeilen einer Matrix mit den Funktionen sqrt()
und sum()
Wir können auch die Norm von Matrixzeilen mit den Funktionen sqrt()
und sum()
finden. Wir kennen den Algorithmus, der verwendet wird, um die Norm von Zeilen einer Matrix zu finden, in der wir zuerst das Quadrat der Werte nehmen und dann ihre Summe mit der Funktion sum()
finden müssen, und danach können wir die Quadratwurzel ziehen mit der Funktion sqrt()
.
Lassen Sie uns zum Beispiel die Norm einer Matrix entlang der Zeilendimension finden. Siehe den Code und die Ausgabe unten.
clc
clear
m = magic(3)
n1 = sqrt(sum(m.^2,2))
Ausgang:
m =
8 1 6
3 5 7
4 9 2
n1 =
10.0499
9.1104
10.0499
Im obigen Code haben wir das Argument m.^2
verwendet, um das Quadrat aller Werte der Matrix zu nehmen, und wir haben 2 als zweites Argument in der Funktion sum()
verwendet, um die Summe der Elemente von zu ermitteln Zeilen, aber wenn wir die Norm von Spalten finden wollen, können wir 1 als zweites Argument verwenden. Die obige Ausgabe zeigt, dass die Norm dieselbe ist wie im ersten Beispiel.