We beschouwen het beginwaardeprobleem
$$\begin{cases}x'(t) = f(x, t)\\x(t_0) = x_0\end{cases}$$
en zoeken een numerieke oplossing voor de functie $$x$$ via de Runge-Kutta methode van orde 4.

Schrijf de functie runge_kutta_4() met volgende argumenten:

We bepalen de functie $$x(t)$$ in de punten $$t_i = t_0 + ih$$ met $$t_i \le t_{max}$$. Het resultaat van de functie is een tuple met 2 elementen, namelijk:

Voorbeeld

f = lambda x,t : 5*x
t, x = runge_kutta_4(f, 3.0, 0.0, 2.0, 200)
print(t[0:200+1:25]) #[0.00, 0.25, 0.50, 0.75, 1.00, 1.25, 1.50, 1.75, 2.00]
print(x[0:200+1:25]) #[3.00, 10.47, 36.55, 127.56, 445.24, 1554.04, 5424.13, 18932.06, 66079.36]