Lösung überbestimmter Gleichungssysteme in Matlab |
26.11.2010, 09:38 | CingChris | Auf diesen Beitrag antworten » | ||||
RE: Lösung überbestimmter Gleichungssysteme in Matlab , wobei x die zu bestimmende Matrix ist. ,wobei A eine , x eine und b eine -Matrix mit dem gleichem Wert für b in jeder Zeile ist. Es gilt m > n. Ich habe folgende Lösungsverfahren in Matlab verwendet: 1) x = inv((B'*B))*B'*b; 2) x = A \ b; 3) x = linsolve(A,b); 4) x = pinv(A)*b; 5) x = lscov(A,b); verwendet.Folgende Warnungen werden dabei produziert. 1) Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 7.293250e-40. 2) Warning: Rank deficient, rank = 3, tol = 2.3751e+04. 3) Warning: Rank deficient, rank = 3, tol = 2.3722e+04. 4) keine Warnung 5) Warning: A is rank deficient to within machine precision. Kann mir evtl. mal jemand erklären, was diese Warnings bedeuten und wie ich damit umgehen muss ? Durch die Überbestimmtheit gibt es ja unendlich viele Lösungen. Ich benötige aber immer nur eine bestimmte davon. Sind diese Lösungen denn überhaupt richtig oder kommt das schon in Regionen numerischer Unschärfe oder ähnliches ? Danke für die Hilfe. |
||||||
26.11.2010, 11:23 | tigerbine | Auf diesen Beitrag antworten » | ||||
RE: Lösung überbestimmter Gleichungssysteme in Matlab Eine theoretische Rückfrage
Würde eher meinen, dass dies bei Unterbestimmt (m<n) der Fall ist. Überbestimmt (m>n) birgt die Gefahr, dass es keine Lösung gibt. Dann würdest du dich auf den Gebiet der Ausgleichslösung befinden. |
||||||
26.11.2010, 11:30 | CingChris | Auf diesen Beitrag antworten » | ||||
RE: Lösung überbestimmter Gleichungssysteme in Matlab stimmt du hast recht ... genau .. das is aber nich schlimm ... dann wird eben eine ausgleichsgerade berechnet ... wahrscheinlich mit der least squares methode ... |
||||||
26.11.2010, 11:43 | tigerbine | Auf diesen Beitrag antworten » | ||||
RE: Lösung überbestimmter Gleichungssysteme in Matlab Die Frage ist zunächst, was der richtige Befehl in matlab dafür ist. Also für das Ausgleichsproblem. Inverse Matrizen würde ich immer vermeiden.
Für deine Fehlermeldung findet sich auch was auf der matlab Homepage: http://www.mathworks.com/help/techdoc/math/f4-2224.html
|
||||||
26.11.2010, 12:21 | CingChris | Auf diesen Beitrag antworten » | ||||
RE: Lösung überbestimmter Gleichungssysteme in Matlab ja das habe ich schon angeschaut ... hab das jetz so aufgefasst, dass linsolve() und backslash unterschiedliche aber richtige lösungen liefern ? stimmst du mir da zu ? |
||||||
26.11.2010, 12:25 | tigerbine | Auf diesen Beitrag antworten » | ||||
RE: Lösung überbestimmter Gleichungssysteme in Matlab Wo steht da linsove? Ich sehe A\b und pinv(A)*b. Der Text beschreibt ja, dass sie die (algorithmisch) eindeutige Lösung anders wählen werden. Dennoch sind beides Lösungen. |
||||||
Anzeige | ||||||
|
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
Die Neuesten » |
|