Großer numerischer Fehler?

Neue Frage »

Hm... Auf diesen Beitrag antworten »
Großer numerischer Fehler?
Hi Leute,

ich habe eine invertierbare Matrix aber nach Anwendung des Gauss Algos in einem Programm ergibt sich was komisches:


Meine Matrix ist:

p:2,7007.7,4711.5
p:7007.7,48748984.49,32773957.75
p:4711.5,32773957.75,22033942.25



Die berechnete Inverse lautet:

b:-36198372.80754158,-109270394.49121,162539857.84201792
b:-109270394.491638,-329849599.6896394,490651720.3722954
b:162539857.84265456,490651720.37229526,-729845089.7948889


wenn ich Matrix mit der Inverse multipliziere erhalte ich:

t:1,0.001,0
t:1,4,0
t:1,2,0


Ich hab meine Invertiermethode eigendlich gut getestet. Meine Frage ist:

Kann dieser Fehler aufgrund schlechter Rundung (schlechte Kondition) ausgelöst worden sein? Der Fehler erscheint mir sehr groß, daher frage ich. Kriege ich mit der LR Zerlegung bessere Ergebnisse oder gibt es einen anderen passenden Algo? Wichtig wäre dass sich dieser auch implementieren lassen sollte.


Frage nr 2.:
Der Matrix liegt ein Gleichungssystem zugrunde, welches ich lösen möchte. Gibt es ein Verfahren um Gleichungssysteme mit nichtinvertierbaren Matrizen zu lösen? Z.B. durch Zerlegung und passende Addition auf die Diagonale?


lg
chrizke Auf diesen Beitrag antworten »

Ja, die Matrix ist mit einer Kondition von ca. sehr schlecht konditioniert.

Mit dem Gausverfahren kann man auch nichtinvertierbare Systeme lösen, sofern überhaupt eine Lösung existiert.
 
 
Hm... Auf diesen Beitrag antworten »

hm, danke, ich war mir nicht sicher ob so große fehler tatsächlich durch rundung entstehen kann.

ich werde die inverse über brüche ausrechnen und dann mal gucken.


das verfahren zum lösen von nichtinvertierbaren gleichungssystemen nach gauss ist mir noch schwach als aufstellen einer lösungsmenge bekannte - gibt es verfahren die mir einen eindeutigen schätzwert liefern? ein fehler von bis zu 30% wäre kein großes problem. falls ja, wie heißt es?

ein komilitone meinte es gibt eine möglichkeit einen wert aus (0,1) zu ermitteln und auf die diagonale zu knallen ( Forum Kloppe ) - aber den algo kannte er nicht mehr. kennt jemand von euch ein passendes stichwort dazu?

ich erinnere mich dunkel, dass man eine matrix dafür aufteilen muss und dass das ganze mit housholdermatrizen schneller lauft.
RavenOnJ Auf diesen Beitrag antworten »

Es ist doch kein Wunder, dass du da seltsame Ergebnisse bekommst. Berechne mal die Determinante und variiere den Wert 2 nur minimal, Größenordnung 10^-9. Du bekommst Riesenunterschiede. Es gibt immer solche Probleme, wenn die Determinante praktisch 0 ist.
Hm... Auf diesen Beitrag antworten »

Zitat:
Original von RavenOnJ
Es ist doch kein Wunder, dass du da seltsame Ergebnisse bekommst. Berechne mal die Determinante und variiere den Wert 2 nur minimal, Größenordnung 10^-9. Du bekommst Riesenunterschiede. Es gibt immer solche Probleme, wenn die Determinante praktisch 0 ist.


jetzt invertiere ich mit brüchen => funktioniert kaum besser

gibt es eine möglichkeit die inverse anders zu berechnen oder die inverse mit einigen "tricks" zu "erschummeln"? falls ja, welche?

ich möchte an sich nur lineare gleichungssysteme lösen, geht das miot dem QR algo auch bei schlechter kondition?
HAL 9000 Auf diesen Beitrag antworten »

Exakt gerechnet (oder wie du sagst: "mit Brüchen") hat deine Matrix die Determinante 0 - in Worten: Null!!!!

Da ist das hier beobachtete Verhalten kein Wunder. Augenzwinkern
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »