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:
f
: de functie $$f(x, t)$$, met 2 reƫle argumenten x0
: de waarde $$x(t_0)$$ t0
: het beginpunt $$t_0$$ tmax
: het eindpunt waarvoor we $$x(t)$$ bepalen N
: het aantal totaal aantal punten waar $$x(t)$$ bepaald wordt, de stapgrootte van het iteratieschema wordt dan $$h=\frac{t_{max}-t_0}{N}$$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]