Schrittweitensteuerung bei Einschrittverfahren
Die Anpassung der Schrittweite
während der numerischen Berechnung der Lösung spielt eine wichtige Rolle bei den Anfangswertaufgaben, deren rechte Seite eine steile Funktion ist. Wird die Schrittweite in solchen Fällen fest gehalten, wird der numerische Fehler in den Bereichen des steilen Anstiegs von
stark wachsen und das numerische Verfahren versagen. Schrittweitensteuerung ist essenziel auch für die sogenannten steifen Aufgaben mit sehr unterschiedlichen Wachstumsraten der Lösungskomponenten. Die steifen Probleme werden noch später näher studiert. In diesem Abschnitt wird beschrieben, wie man den genauen Ausdruck für den lokalen Fehler eines Verfahrens für die Anpassung der Schrittweite
einsetzen kann. Wir beschränken uns hier auf das explizite Euerverfahren.
Der lokale Fehler beschreibt, welchen Fehler das ESV in jedem einzelnen Berechnungsschritt zulässt, siehe Definition 3.8, oder wie gut die Verfahrensfunktion die rechte Seite der AWA,
, annähert. Im Fall des expliziten Eulerverfahrens ist der lokaler Fehler, ausgewertet an der Stelle
Je steiler die Funktion
ist, (je größer
), desto größer wird der lokale Fehler
. Das Ziel der Schrittweitensteuerung ist die Schrittweite an den Verlauf der Funktion
anzupassen, um den lokalen Fehler in jedem Berechnungschritt
unter einer gewissen Toleranz zu halten.
Um die passende Schrittweite in jedem Schritt zu finden, müssen wir die numerische Lösung und den zukünftigen Fehler vorab ”abtasten”. Bei explizitem Eulerverfahren bietet sich für diese Abschätzung der Abgleich der numerischen Lösung mit der Lösung mithilfe zweier ,,halber” Euler-Schritte (mit Schritweite
). Um dies zu erläutern, untersuchen wir zuerst den lokalen Fehler des Eulerverfahrens mit halber Schrittweite:
Der lokale Fehler dieses Verfahrens ist zweimal kleiner als der des Eulerfervahrens, denn
vergleiche (3.16). Nach der Definition des lokalen Fehlers ist der lokale Fehler gleich dem Unterschied zwischen der exakten und der numerichen Lösung (berechnet aus exaktem Startwert),
, siehe Bemerkung 3.1 Punkt ii). Demnach erhalten wir für das Eulerverahren
und für das Eulerverfahren mit halber Schrittweite
Diese Erkenntnis lässt zwei Folgerungen schließen:
a) Der lokale Fehler vom Eulerverfahren lässt sich mithilfe des Unterschiedes der numerischen Lösung mit Schrittweite
und halber Schrittweite vorhersagen,
b) Mit einer geeigneten Kombination der zwei Lösungen
ist es möglich das führende Fehlerglied
zu eliminieren und eine numerische Lösung zweiter Ordnung zu rekonstruieren, denn es gilt
Die Gleichung (3.19) ist die Grundlage der Schrittweitenanpassung des Eulerverfahrens. Der lokaler Fehler
lässt sich vorab bestimmen, indem man den Unterschied der numerischen Lösungen mit ganzer und halber Schrittweite
bildet. Die Schrittweite
wird so gewählt, dass der lokaler Fehler die vorher gewählte Toleranz
nicht überschreitet:
ALGORITMUS: Schrittweitensteuerung
, wähle eine Probeschrittweite
und die Toleranz
für den lokalen Fehler.
Berechne die numerische Lösung im nächsten Schritt
- mithilfe eines Schrittes des Eulerverfahrens mit Schrittweite
:
,
- mithilfe von zwei Schritten des Eulerverfahrens mit halber Schrittweite
,
, siehe (3.17).
- Schätze die... führende Fehlerkonstante mittels (3.19),

- Wähle die optimale Schrittweite
so, dass der lokale Fehler
die vorgegebene Toleranz
nicht überschreitet:
Gleichung (3.20) Hier kann der Parameter
gewählt werden, um die optimale Schrittweite zusätzlich noch zu skalieren. In der Praxis wird of
angewendet.
- Bestimme die numerische Lösung
im nächsten Schritt
mithilfe der Schrittweite
und des Verfahrens zweiter Ordnung,
, siehe (3.17).
Dieser Schritt ist optional, man kann hier auch das klassische explizite Eulerverfahren anwenden, allerdings mit Verlust der Genauigkeit (Konsistenzordnung).
Anstelle der Toleranz für den absoluten lokalen Fehler, wird in der Schrittweitensteuerung oft die Toleranz für den relativen Fehler (%) angenommen. In dem Fall wird statt
er relativer Fehler
für die Schrittberechnung benutzt,