Matlab < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Hallo miteinander,
weiß jemand, ob bei Lösen eines linaren Gleichungssystems Ax=b in Matlab mittels Befehl x = A \ b mit quadratischer Matrix A der Gaußalgorithmus mit Pivotisierung ausgeführt wird oder ohne. Kann man sie jeweils ein- bzw. ausschalten?
Vielen Dank für die Hilfe...
mfg
[mm]S^2[/mm]
Ich habe diese Frage auf keiner anderen Seite gestellt.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 13:49 Sa 08.01.2005 | Autor: | wluut |
> weiß jemand, ob bei Lösen eines linaren Gleichungssystems
> Ax=b in Matlab mittels Befehl x = A \ b mit quadratischer
> Matrix A der Gaußalgorithmus mit Pivotisierung ausgeführt
> wird oder ohne. Kann man sie jeweils ein- bzw.
> ausschalten?
Wie genau Matlab x ausrechnet weiß ich auch nicht, aber ich kann mir beim besten Willen nicht vorstellen, dass Matlab auf Pivotisierung verzichtet, um das bestmögliche Ergebnis zu bekommen.
Ausschalten kann man, soweit ich weiß, dabei nichts.
(siehe auch "help mldivide")
Wofür willst du die Pivotisierung ausschalten?
Vielleicht hilft dir ja auch "help lu" weiter, damit erhälst du eine LR-Zerlegung von A. Damit kann man auch den Zeilentausch, den Gauss macht nachvollziehen.
LG
wluut
|
|
|
|
|
Hi,
>
> Wie genau Matlab x ausrechnet weiß ich auch nicht, aber ich
> kann mir beim besten Willen nicht vorstellen, dass Matlab
> auf Pivotisierung verzichtet, um das bestmögliche Ergebnis
> zu bekommen.
> Ausschalten kann man, soweit ich weiß, dabei nichts.
>
> (siehe auch "help mldivide")
>
> Wofür willst du die Pivotisierung ausschalten?
> Vielleicht hilft dir ja auch "help lu" weiter, damit
> erhälst du eine LR-Zerlegung von A. Damit kann man auch den
> Zeilentausch, den Gauss macht nachvollziehen.
>
> LG
> wluut
>
Danke erstmal, ich versuche eine sehr schlecht konditionierte Matrix A (ähnlich Hilbertmatrix) auf ein paar verschiedene Weisen zu lösen und dann ein Fehlerfunktional der Form [mm]\bruch{1}{2}x^TAx +b^Tx+c[/mm] auszuwerten. Dabei erwarte ich, daß der Wert des Fehlerfunktional für große n gegen 0 konvergiert. Das tut er auch, allerdings gibt es ein paar "Ausreißer". Diese scheinen auf Rundungsfehler zu beruhen und ich hätte dazu gern gewußt, wie der Algorithmus bei "x = A \ b" abläuft. Interessanterweise liegen die "Ausreißer" bei "x = A \ b" und "x=inv(A)*b" bei unterschiedlichen n und auch bei von mir implementierten Gaußalgorithmen ohne und mit Pivotisierung liegen sie wieder woanders.
Naja, falls doch nochmal irgendjemand rausbekommt, wie das da abläuft würde ich mich über eine Meldung freuen.
|
|
|
|
|
Was ist eine Pivotisierung?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 11:03 Mi 14.09.2005 | Autor: | Julius |
Hallo!
Man muss ja, wenn man (oBdA im ersten Schritt) des Gauß-Algorithmus Zeileneinträge eliminieren will, alle anderen Einträge der ersten Spalte durch einen speziellen, festgewählten Eintrag der ersten Spalte teilen. Theoretisch recht es dafür aus ein Elemente [mm] $a_{r_1 1} \ne [/mm] 0$ zu bestimmen. Aus Stabilitätsgründen empfiehlt es sich jedoch, [mm] $r_1$ [/mm] so zu wählen, dass
[mm] $|a_{r_1 1}| [/mm] = [mm] \max\limits_{1 \le \mu \le n} |a_{\mu 1}|$
[/mm]
gilt. Dieses Verfahren nennt man Spaltenpivotsuche oder (Spalten-)Pivotisierung.
Liebe Grüße
Julius
|
|
|
|