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 midpointmethode.

Schrijf de functie midpoint() 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 = midpoint(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.51, 127.37, 444.35, 1550.15, 5407.82, 18865.69, 65814.72]