Numerische Lösung von Differentialgleichungssystemen

Mit JavaScript wird das Anfangswertproblem für ein Differentialgleichungssystem der Form

y'(t,y(t)) = f(t,y(t)) mit y(0)=y0

für 0 ≤ t ≤ tEnd mit bis zu 4 Differentialgleichungen 1. Ordnung numerisch gelöst, d.h. es wird y(t) bestimmt. Die Lösungen y1(t), y2(t), ... werden dann grafisch als Funktionsverlauf und auch als Wertetabelle ausgegeben.
Die hier möglichen Verfahren sind Einschrittverfahren, eines davon mit Schrittweitensteuerung, wodurch die besten Ergebnisse erzielt werden.

Auch Differentialgleichungen 2. Ordnung lassen sich lösen, indem man sie zunächst in ein Differentialgleichungssystem umwandelt. Dazu wird eine Hilfsvariable für die erste Ableitung einführt.
So kann man z.B. eine Differentialgleichung der Form ay'' + by' + cy = f(t) lösen, indem man sie umschreibt in:
y1' = y2
y2' = (f(t) - b y2 - c y1)/a
y1(t) ist dann die gesuchte Lösung y(t) und y2(t) die zugehörige 1. Ableitung.
Für Differentialgleichungen n-ter Ordnung muss man analog n-1 Hilfsvariablen für y' bis y(n-1) einführen (siehe Beispiele).

Heun-Verfahren
verbessertes Euler-Cauchy-Verfahren
Runge-Kutta-Verfahren 3.Ordnung
Runge-Kutta-Verfahren 4.Ordnung
Runge-Kutta-Verfahren 4.Ordnung mit Schrittweitensteuerung
y1'(t,y1,y2,y3,y4) y1(0) y1(t)
y2'(t,y1,y2,y3,y4) y2(0) y2(t)
y3'(t,y1,y2,y3,y4) y3(0) y3(t)
y4'(t,y1,y2,y3,y4) y4(0) y3(t)
Hilfsparameter
tEnd   Δt   Beispiele



weitere JavaScript-Programme