Adaptive Schrittweitensteuerung bei expliziten Einschrittverfahren (Eingebettete Verfahren) Gegeben seien explizite Einschrittverfahren für Verfahrensfunktionen • ϕ mit Konsistenzordnung p, • ϕ̂ mit Konsistenzordnung p + 1. Als Schätzung des Fehlers im Zwischenschritt verwenden wir folgende Schätzung T (tk , hk , uk ) ≈ ûk+1 − uk+1 , hk wobei uk+1 = uk + hk ϕ(tk , uk , hk ) ûk+1 = uk + hk ϕ̂(tk , uk , hk ). Für die Schrittweitenwahl h̃ wird folgende Schätzung verwendet: ûk+1 − uk+1 p T (tk , h̃, uk ) ≈ h̃ . hp+1 k Eingabe: Toleranz ε, minimale Schrittweite hmin , Faktor für Schrittweitenwachstum η ≥ 1, Sicherheitsfaktor ρ ∈ (0, 1], Anfangsschrittweite h. t = t0 ; u = u0 ; ende nicht erreicht = true; while (ende nicht erreicht) { u = u + hϕ(t, u, h); û = u + hϕ̂(t, u, h); ku − ûk ; h if (schaetzung fehler zwischenschritt ≤ ε) { t = t + h; //nächster Knoten tk+1 = tk + h u = û; //Verwende Approximation der Ordnung p + 1, d. h. uk+1 = û if (t == b) then ende nichterreicht = false; 1/p ε p h :=max hmin , min ηh, ρ schaetzung fehler zwischenschritt h schaetzung fehler zwischenschritt = if (t + h ≥ b) then h = b − t; } else 1/p ε p h :=max hmin , ρ schaetzung fehler zwischenschritt h ; } Adaptive Schrittweitenwahl Wir betrachten das Anfangswertproblem y 0 (t) = −200ty 2 (t), y(0) = 1. für t ∈ [0, 1] 1 Die Lösung ist gegeben durch y(t) = 1+100t 2 . Die Abbildungen zeigen die Lösung und die Schrittweitenwahl durch das eingebettete RK5(4) nach Dormand & Prince. 1 0.9 0.8 0.7 y(t) 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.06 0.05 Schrittweite 0.04 0.03 0.02 0.01 0 Das Butcher-Tableau für RK5(4) von Dormand & Prince ist folgendermaßen gegeben: