Nehmen wir an, dass A
eine m-mal-n-Matrix ist und dass b
ein n
-dimensionaler Vektor ist. Sie wollen alle die Lösung A x = b
im Fall von m<n
wissen, und es wird ausgedrückt wie folgt:
x = x_0 + K y
, .. (1)
wo x_0
eine beliebige Lösung der ursprünglichen Gleichung ist, A x = b
, K
ist eine n
-by-(n-m)
Matrix, deren Spalten eine Basis des Nullraums (auch Kernel genannt) von A
bilden, und y
ist ein beliebiger (n-m)
-dimensionaler Vektor. Diese y
entspricht dem, was Sie "freier Parameter" nennen.
Lassen Sie mich über die Matrix K
mehr erklären. Der Nullraum der Matrix A
ist ein Satz von Vektoren v
, so dass A v = 0
. Dieser Satz von v
ist eigentlich ein Vektorraum der (n-m)
-Dimension, und jede v
kann als eine lineare Kombination von (n-m)
Vektoren exprimiert werden, k_1
, .., k_{n-m}
, die miteinander linear unabhängig sind und erfüllen A k_i = 0
(i=1,..,n-m
). Die Auswahl von k_1,..,k_{n-m}
ist nicht eindeutig.
Sie können eq. (1) zu A x =b
zu überprüfen, dass es in der Tat die Lösung ist, weil A K = 0
. Der Ausdruck K y
drückt alle Vektoren v
aus, so dass A v=0
.
Eine Methode, um die Matrix K
zu finden ist die Singulärwertzerlegung,
A V = U S
,
wo V
und U
sind n
-by- n
und m
-by- m
orthogonale Matrizen sind und S
ist ein m
-by- n
Diagonalmatrix wie,
S = [s_1 0 0 0 0 ]
[ 0 s_2 0 0 0 ]
[ 0 0 s_3 0 0 ]
Da die letzten (n-m)
Spalten S
Nullvektoren sind, sind die letzten (n-m)
Spalten des Produkts U S
ebenfalls Nullvektoren. Dies bedeutet, dass die letzten (n-m)
Spalten von V
Nullvektoren ergeben, wenn wir sie von links mit A
multiplizieren. Daher gehören diese Spalten von V
zu dem Nullraum von A
. Da sie linear unabhängig sind (wie V
ist eine orthogonale Matrix), bilden sie die Basis des Nullraums. Daher können wir K
als die letzten (n-m)
Spalten von V
in der Singulärwertzerlegung gefunden setzen.
Ich weiß nicht, wie man die Singulärwertzerlegung in Matlab macht, aber es muss eine Funktion dafür geben.
Ich brauche die freien Variablen dargestellt werden. d. h. ich brauche den Lösungsraum, keine bestimmte Lösung – monotonic
Es gibt nur eine Lösung, weil Sie "b" angegeben haben. – Wolfie