Runge-Kutta 4. Ordnung für y' = f(x,y;a,b)

Autor: K. Rottbrand
Stand: 28 NOV 2005

Eingabe f(x,y,a,b) =
Startwert x0 =
Startwert y0 =
Parameter a =
Parameter b =
Endwert xf =
Schrittweite h =

Beschreibung:

Dieses JavaScript dient der numerischen Lösung der gewöhnlichen Differentialgleichung y'=f(x,y;a,b), wobei x, y=y(x) die Variablen und a, b Parameter sind. Ausgehend von einem Startwert (x0,y0) und einer vorgegebenen Schrittweite h wird bis hin zu einem Endwert xf extrapoliert. Dabei wird bei Bedarf eine Schrittweitenanpassung vorgenommen. Leider ist der Rechenaufwand hoch. Deshalb sollte man nur kleine x-Intervalle [x0,xf] wählen. Der Algorithmus ist aus dem STÖCKER Taschenbuch (Harri Deutsch Thun) 21993, S. 580/581 entnommen.

Beispiel: y'=xy

Der Anfangswert (x0,y0)=(2,1) führt auf die exakte Lösung y=exp(-2+x*x/2). Das Runge-Kutta-Verfahren liefert bei einer Schrittweite h=0.1 y(2.3)=1.905796, was sehr gut mit dem 'exakten' Wert übereinstimmt. Allerdings hängt der Rechner bei der Wahl des Endwertes xf=2.5. Man kann sich aber durchhangeln, indem man nochmal mit 2.3 und y(2.3) startet. Man erhält y(2.5)=3.08, was widerum sehr genau ist.

Hosted by www.Geocities.ws

1