Verfahren vergleichen < Numerik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 11:15 Di 04.10.2011 | Autor: | Blueman |
Hallo
Ich habe in C++ 2 Finite Differenzen Verfahren zur Lösung einer bestimmten PDGL geschrieben und möchte jetzt untersuchen, welches das bessere ist. Ich weiß leider nicht so genau, wie man dabei sinnvoll vorgeht.
Ich habe 2 Variablen (Zeit und Raum). Ändere ich die Schrittweiten in Abhängigkeit voneinander oder lasse ich eine fest?
Und wie untersucht man eigentlich Konvergenz, wenn man keine analytische Lösung (also den Grenzwert gegen den das Verfahren konvergieren soll) kennt? Kann man einfach gucken, ob bei kleiner werdender Schrittweite die Unterschiede zwischen den Lösungen immer kleiner werden?
Wäre sehr über Hilfe dankbar, auch über Literaturtipps ect. Habe nämlich zu dem Thema bisher wenig im Netz und in Büchern gefunden :(
Viele Grüße,
Blueman
|
|
|
|
Hallo Blueman,
Ich nehme an Du willst technisch vorgehen. Das setzt voraus, das das Verfahren nur gegen die Lösung der PDGL konvergiert und das mit der dir zur Verfügung stehenden Rechengenauigkeit. Um ein Verfahren zu untersuchen würde man das zwar imho zunächst auf ein Problem mit bekannter Lösung loslassen. Da numerische Probleme ja auch von der Rechengenauigkeit abhängen könnte man aber auch mit float-Rechnung anfangen und falls es bzgl. Schrittweitenverkleinerung in Problematische Regionen geht, nochmals mit double oder longdouble und entsprechend kleinerer Schrittweite weiterrechnen und die Verfahren(bezgl. float Rechnung) mit dieser gefundenen (vermutlich guten)Lösung vergleichen.
Da deutsche Literatur zum Thema selten ist nenn ich mal:
Numerik partieller Differentialgleichungen
von Christian Großmann,Hans-Görg Roos
weiss aber nicht ob's dir was bringt.
viele Grüße
mathemaduenn
|
|
|
|