We beschouwen het beginwaardeprobleem
$$\begin{cases}x'(t) = f(x, t)\\x(t_0) = x_0\end{cases}$$
waarvoor we een analytische oplossing $$x^* (t)$$ ter beschikking hebben. We wensen de fout te bepalen tussen een numeriek bepaalde benadering voor $$x(t_{max})$$ en de analytisch berekende waarde (die ook fouten kan vertonen) $$x^*(t_{max})$$, en dit als functie van de stapgrootte $$h$$.

Schrijf de functie GDV_fout() met volgende argumenten:

Het resultaat van de functie is een lijst van foutwaarden, namelijk $$|x(t_{max}) - x^*(t_{max})|$$.

Voorbeeld

f = lambda x,t : 5*x
x = lambda t:3*np.exp(5*t)
F_euler = GDV_fout(f, 3.0, 0.0, 2.0, x, euler, [5, 10, 15, 20] ) #[65350.40, 63007.40, 59698.93, 56103.63]
F_midpoint = GDV_fout(f, 3.0, 0.0, 2.0, x, midpoint, [5, 10, 15, 20] ) #[56704.40, 37469.17, 24371.58, 16626.86]
F_RK4 = GDV_fout(f, 3.0, 0.0, 2.0, x, runge_kutta_4, [5, 10, 15, 20] ) #[15658.40, 2378.96, 624.18, 227.09]