Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Trapez-Methode

Das implizite Trapez-Verfahren ist ein Verfahren zur numerischen Lösung eines Anfangswertproblems. y ′ ( t ) = f ( t , y ( t ) ) , y ( t 0 ) = y 0 …

Inhalt4 Abschnitte
  1. 1. Grundidee und Verfahren
  2. 2. Herleitung aus der Integralgleichung
  3. 3. Numerische Lösung des impliziten Systems
  4. 4. Stabilität und Wahl der Schrittweite

Grundidee und Verfahren

Die implizite Trapez-Methode dient der numerischen Lösung eines Anfangswertproblems

y'(t)=f(t,y(t)),\quad y(t_0)=y_0.

Sie gehört sowohl zu den Runge-Kutta-Verfahren als auch zu den Adams-Moulton-Verfahren. Das Verfahren verwendet die Trapezregel, um das Integral der Differentialgleichung in jedem Zeitschritt zu approximieren. Mit f_n:=f(t_n,y_n) lautet die zentrale Rechenvorschrift

y_{n+1}=y_n+\frac{h}{2}(f_{n+1}+f_n).

Da f_{n+1}=f(t_{n+1},y_{n+1}) vom noch unbekannten Wert y_{n+1} abhängt, ist die Methode implizit: In jedem Schritt muss zunächst eine Gleichung beziehungsweise ein Gleichungssystem für y_{n+1} gelöst werden.

Herleitung aus der Integralgleichung

Das Anfangswertproblem wird zunächst in die äquivalente Integralgleichung umgeformt:

y(t)=y_0+\int_{t_0}^{t}f(s,y(s)),\mathrm{d}s.

Für einen einzelnen Schritt von t_k nach t_{k+1} gilt daher

y(t_{k+1})=y(t_k)+\int_{t_k}^{t_{k+1}}f(s,y(s)),\mathrm{d}s.

Das Integral wird durch die Trapezregel angenähert:

\int_{t_k}^{t_{k+1}}f(s,y(s)),\mathrm{d}s\approx\frac{h}{2}\bigl(f(t_k,y_k)+f(t_{k+1},y_{k+1})\bigr).

Damit ergibt sich

y_{k+1}=y_k+\frac{h}{2}\bigl(f(t_k,y_k)+f(t_{k+1},y_{k+1})\bigr).

Die Methode verbindet also den bekannten Funktionswert am Anfang des Schritts mit dem am Ende des Schritts, der gleichzeitig bestimmt werden muss.

Numerische Lösung des impliziten Systems

Die Gleichung für y_{n+1} ist im Allgemeinen nichtlinear. Zur Lösung kann beispielsweise das quadratisch konvergente Newton-Verfahren eingesetzt werden. Seine Iteration lautet

y_{n+1}^{(k+1)}=y_{n+1}^{(k)}-\left(I-\frac{h}{2}\frac{\partial f_{n+1}^{(k)}}{\partial y_{n+1}^{(k)}}\right)^{-1}\left(y_{n+1}^{(k)}-y_n-\frac{h}{2}(f_{n+1}^{(k)}+f_n)\right).

Dabei bezeichnet k den Iterationsschritt und I die Einheitsmatrix. Praktisch wird in jeder Newton-Iteration ein lineares Gleichungssystem gelöst:

(I-\frac{h}{2}J^{(k)})y_{n+1}^{(k+1)}=-\frac{h}{2}J^{(k)}y_{n+1}^{(k)}+y_n+\frac{h}{2}(f_{n+1}^{(k)}+f_n).

J^{(k)} ist die Jacobi-Matrix

J^{(k)}:=\left(\frac{\partial f}{\partial y}\right)_{n+1}^{(k)}.

Die Newton-Methode ersetzt damit die nichtlineare Berechnung in jedem Iterationsschritt durch ein lineares Gleichungssystem.

Stabilität und Wahl der Schrittweite

Für die Testgleichung y'(t)=\lambda y(t) besitzt die Trapez-Methode die Stabilitätsfunktion

R(z)=\frac{2+z}{2-z},\quad z=h\lambda\in\mathbb{C}.

Für z=i\eta auf der imaginären Achse gilt |R(i\eta)|=1. Deshalb ist die Trapez-Methode A-stabil. Für die Schwingungsgleichung y'=\mathrm{i}\alpha y tritt somit kein Amplitudenfehler auf.

Eine variable Schrittweite kann über den zugelassenen lokalen Diskretisierungsfehler \delta bestimmt werden:

\left|\frac{R(h\lambda)}{\mathrm{e}^{h\lambda}}-1\right|=\delta.

Aus dem Ansatz y_{n+1}=R(h\lambda)y_n folgt erneut

R(h\lambda)=\frac{2+h\lambda}{2-h\lambda}.

Dabei ist \lambda:=\max_j|\lambda_j| der Betrag des betragsmäßig größten Eigenwerts der Jacobi-Matrix, also ihr Spektralradius. Da die numerische Bestimmung der Eigenwerte sehr zeitaufwendig ist, kann für die Schrittweitenberechnung im Allgemeinen die Gesamtnorm

\lambda=N\cdot\max_{i,j}|a_{ij}|

verwendet werden. Sie ist immer größer oder gleich der Spektralnorm. N ist der Rang der Jacobi-Matrix, und a_{ij} sind ihre Elemente.

Weiterlesen