Zum Inhalt springen

Heun-Verfahren

aus Wikipedia, der freien Enzyklopädie

Das Heun-Verfahren, benannt nach Karl Heun, ist ein einfaches Verfahren zur numerischen Lösung von Anfangswertaufgaben. Es ist ein Einschrittverfahren und ist ein Beispiel für ein zweistufiges explizites Runge-Kutta-Verfahren.<ref name="Schwarz354">{{#invoke:Vorlage:Literatur|f}}</ref>

Im Gegensatz zum expliziten Euler-Verfahren erfolgt die Näherung über ein Trapez und nicht über ein Rechteck.

Verfahren

Zur numerischen Lösung des Anfangswertproblems<ref name="Schwarz354" />

<math> y'=f(t,y), \quad \quad y(t_0)=y_0 </math>

für eine gewöhnliche Differentialgleichung mit dem Verfahren von Heun wähle man eine Diskretisierungsschrittweite <math> h>0 </math>, betrachte die diskreten Zeitpunkte

<math> t_k=t_0+kh, \quad \quad k=0,1,2,\dots </math>

und berechne zunächst analog zum expliziten Euler-Verfahren

<math> y^{[P]}_{k+1}=y_k+hf(t_k,y_k) \quad,\quad k=0,1,2,\dots </math>

und dann

<math> y_{k+1}=y_k+\frac{1}{2}h(f(t_k,y_k)+f(t_{k+1},y^{[P]}_{k+1})) \quad,\quad k=0,1,2,\dots </math>

was sich umformen lässt zu

<math> y_{k+1}=\frac{1}{2} y_k+ \frac{1}{2} (y_{k+1}^{[P]} + h f(t_{k+1},y^{[P]}_{k+1})) \quad,\quad k=0,1,2,\dots </math>

Die <math>y_k</math> sind die Näherungswerte der tatsächlichen Lösungsfunktion <math>y(t)</math> zu den Zeitpunkten <math>t_k</math>.

Mit <math>h</math> wird die Schrittweite bezeichnet. Verkleinert man diese, so wird der Verfahrensfehler kleiner (sprich: die <math>y_k</math> liegen näher am tatsächlichen Funktionswert <math>y(t_k)</math>). Der globale Fehler des Verfahrens von Heun geht mit <math>h^2</math> gegen null; man spricht auch von Konvergenzordnung 2.

Ähnliche Einschrittverfahren

Einzelnachweise

<references />