Einer Änderungsrate folgen
Eine Differentialgleichung sagt, wie schnell sich eine Größe ändert: dtdy=f(t,y). Geld, das mit stetiger Rate r wächst, erfüllt dtdy=ry mit der Lösung y0ert. Ein kurzer Zins, der zu einem langfristigen Niveau θ zurückgezogen wird, erfüllt dtdr=κ(θ−r). Nur wenige Gleichungen haben eine Lösungsformel, daher schreiten wir numerisch durch die Zeit.
yn+1=yn+hf(tn,yn)(1) Das Euler-Verfahren folgt der Tangente für einen kurzen Schritt h: neuer Wert = alter Wert + Schritt × Steigung. Es ist einfach, aber nur erster Ordnung: Halbiert man h, halbiert sich der Fehler. Runge-Kutta 4. Ordnung (RK4) tastet die Steigung viermal pro Schritt ab und mischt sie, yn+1=yn+6h(k1+2k2+2k3+k4), und sein Fehler schrumpft wie h4: Halbiert man h, wird er durch 16 geteilt.
Wachstum mit Rate 1, auf zwei ArtenLösen wir
y′=y,
y(0)=1 bis
t=1 mit
h=0,5. Euler:
y1=1+0,5⋅1=1,5,
y2=1,5+0,5⋅1,5=2,25, gegenüber
e=2,7183, ein Fehler von 0,4683. RK4 für einen Schritt bis
t=0,5:
k1=1,
k2=1,25,
k3=1,3125,
k4=1,65625, also
y=1+60,5(1+2,5+2,625+1,65625)=1,6484, gegenüber dem wahren
e0,5=1,6487.
- Euler: yn+1=yn+hf(tn,yn), Genauigkeit erster Ordnung.
- RK4: vier Steigungen pro Schritt mit den Gewichten 1, 2, 2, 1; Genauigkeit vierter Ordnung.
- Abbruchfehler: was verloren geht, wenn man schrittweise statt exakt löst.
Ein kleinerer Schritt ist nicht umsonstDen Schritt zu halbieren verdoppelt die Zahl der Schritte. Ab einem gewissen Punkt wächst der Rundungsfehler, während der Abbruchfehler keine Rolle mehr spielt, und manche steifen Gleichungen divergieren, wenn der Schritt nicht klein genug ist. Vergleichen Sie zwei Schrittweiten, um den Fehler zu schätzen, bevor Sie einem Ergebnis trauen.
Lab: Was bewertet wird
- Zwei Euler-Schritte15 Pkt.
- Der Euler-Fehler15 Pkt.
- Ein RK4-Schritt20 Pkt.
- Genauigkeitsordnungen10 Pkt.
- Den Schritt halbieren15 Pkt.
- Die Euler-Schleife10 Pkt.
- Warum RK4 Euler schlägt15 Pkt.