Was ist das Ergebnis der Operation A \ B, wobei A (1, m) und B (1, m)?
Im Handbuch steht geschrieben:
%Vor%Also bedeutet es x = inv (A '* A) * A' * B? Die Matrix A '* A ist jedoch singulär ...
Nehmen wir an:
%Vor%Wenn MLS verwendet wird:
%Vor%Also sind A \ B und inv (A '* A) * A' * B anders ...
Mein Matlab (R2010b) sagt ziemlich viel darüber aus, was A \ B tut:
mldivide (A, B) und das Äquivalent A \ B führen die Matrix-Links-Division (umgekehrter Schrägstrich) aus. A und B müssen Matrizen sein, die die gleiche Anzahl von Zeilen haben, außer A ist ein Skalar, in welchem Fall A \ B eine elementweise Aufteilung durchführt - dh A \ B = A. \ B.
Wenn A eine quadratische Matrix ist, ist A \ B ungefähr dasselbe wie inv (A) * B, außer dass es auf eine andere Weise berechnet wird. Wenn A eine n-mal-n-Matrix ist und B ein Spaltenvektor mit n Elementen oder eine Matrix mit mehreren solcher Spalten ist, dann ist X = A \ B die Lösung für die Gleichung AX = B. Eine Warnmeldung wird angezeigt, wenn A ist schlecht skaliert oder nahezu singulär.
Wenn A eine m-mal-n-Matrix mit m ~ = n ist und B ein Spaltenvektor mit m Komponenten oder eine Matrix mit mehreren solcher Spalten ist, dann ist X = A \ B die Lösung im Sinne der kleinsten Quadrate zu dem unter- oder überbestimmten Gleichungssystem AX = B. Mit anderen Worten minimiert X die Norm (A * X - B), die Länge des Vektors AX - B. Der Rang k von A wird aus der QR-Zerlegung mit der Spalte bestimmt schwenken. Die berechnete Lösung X hat höchstens k von null verschiedene Elemente pro Spalte. Wenn k & lt; n ist dies normalerweise nicht die selbe Lösung wie x = pinv (A) * B, die eine Lösung der kleinsten Quadrate zurückgibt.
mrdivide (B, A) und das entsprechende B / A führen eine Matrix-Rechts-Division (Schrägstrich) durch. B und A müssen die gleiche Anzahl von Spalten haben.
Wenn A eine quadratische Matrix ist, ist B / A ungefähr dasselbe wie B * inv (A). Wenn A eine n-mal-n-Matrix ist und B ein Zeilenvektor mit n Elementen oder eine Matrix mit mehreren solcher Zeilen ist, dann ist X = B / A die Lösung für die Gleichung XA = B, die durch Gaußsche Eliminierung mit partieller Verschwenkung berechnet wird . Eine Warnung wird angezeigt, wenn A schlecht skaliert oder fast singulär ist.
Wenn B eine m-mal-n-Matrix mit m ~ = n ist und A ein Spaltenvektor mit m Komponenten oder eine Matrix mit mehreren solcher Spalten ist, dann ist X = B / A die Lösung im Sinne der kleinsten Quadrate zu dem unter- oder überbestimmten Gleichungssystem XA = B.
x = inv (A'*A)*A'*B
gilt für über bestimmte Systeme (d. h. welches Merkmal A
als n x m
Matrix mit n>m
; unter diesen Umständen ist A'A
invertierbar).
In Ihrem Fall haben Sie ein unterbestimmtes System.
Also, was kann passieren?
Meine Meinung, obwohl Sie zumindest in Ihrem Fall nachschauen können:
wenn Sie A\B
Matlab lösen ein Optimierungsproblem im umgekehrten Sinne w.r.t. die üblichen kleinsten Quadrate, das ist
Dabei ist S
die Menge der Lösungen. Mit anderen Worten, es gibt Ihnen die Lösung des Systems mit der minimalen L ^ 2 Norm. (Bedenken Sie, dass Sie das Problem zumindest in Ihrem Fall mit den Händen lösen können).