DifferentialgleichungenÜbersicht
AnfangswertaufgabeDas folgende Programm löst numerisch ein System von
![]() ![]() ![]() ![]() ![]() Zur Lösung dieses Problems wurden verschiedene numerische Verfahren entwickelt. Im Folgenden werden einige ausgewählte Einschrittverfahren näher vorgestellt. Top
Allgemeines über EinschrittverfahrenBei den Einschrittverfahren wird zunächst eine Schrittweite
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Ein möglicher Ausgangspunkt zum Verständnis der
Einschrittverfahren ist die Methode der vorwärtsgenommenen
Differenzenquotienten: ![]() Da die Lösung
Dies führt zum Euler-Verfahren, das im folgenden Abschnitt näher beschrieben wird. Dieser Ansatz wird nun verallgemeinert, indem in der Gleichung
Man nennt die Funktion Um die Güte der unterschiedlichen Verfahren vergleichen zu können, wird der Konsistenzfehler bzw. der lokale Diskretisierungsfehler ![]() betrachtet, wobei
Dann heißt ein Einschrittverfahren konsistent bzw.
konsistent von der Ordnung ![]() ![]() Ein Einschrittverfahren heißt konvergent bzw.
konvergent von der Ordnung ![]() ![]() wobei Top
Euler VerfahrenDas einfachste numerische Verfahren zur Lösung einer Anfangswertaufgabe ist das bereits erwähnte Euler-Verfahren, auch Polygonzugverfahren genannt. Beim Euler-Verfahren wird die folgende Verfahrensfunktion benutzt: ![]() Man erhält also aus der Gleichung
![]() Diese Gleichung impliziert den folgenden Algorithmus:
Dies ist das Euler-Verfahren. Man kann zeigen, dass dieses Verfahren konsistent von der Ordnung 1 ist. Top
implizites Euler Verfahren
Das implizite Euler-Verfahren wird durch die folgende Gleichung
beschrieben:
![]() Diese Gleichung impliziert den folgenden Algorithmus:
Top
Methode von HeunBeim Euler-Verfahren wird nur ein sehr eingeschränkter
Gebrauch vom Richtungsfeld der Differentialgleichung gemacht. Es
wird nur die Richtung des aktuellen Punktes Ein Ansatz verwendet z.B. das arithmetische Mittel der
Steigungen
![]() Man erhält also aus der Gleichung
![]() und damit den folgenden Algorithmus:
Dies ist das sogenannte Verfahren von Heun. Man sieht sofort, dass dieser Algorithmus gegenüber dem
Euler-Verfahren eine zusätzliche Auswertung der Funktion
Top
Runge-Kutta-VerfahrenBeim allgemeinen Runge-Kutta Verfahren wird der beim
Verfahren von Heun vorgestellte Ansatz weiter verallgemeinert indem
man die Funktion
Die Funktionen
![]() bestimmt werden, wenn man
Die zunächst unbekannten Koeffizienten
![]()
![]() Ein sehr bekanntes Verfahren der Stufe 4 und der Konsistenzordnung 4 ist das klassische Runge-Kutta Verfahren, das auch im Programm implementiert wurde: ![]()
Man sieht sofort, dass dieser Algorithmus in jedem Schritt vier
Auswertungen der Funktion Mit dem folgenden Programm kann man nun die vorgestellten Verfahren testen. Nach Eingabe der Anfangswertaufgabe und der Wahl der Schrittweite werden zunächst alle drei Verfahren durchgeführt. Anschließend kann man durch geeignete Einstellungen die Verfahren untereinander vergleichen oder den Konvergenzfehler darstellen, falls die Lösung explizit bekannt ist. Top
|