Beschouw volgend beginwaardeprobleem:
$$\begin{cases}\frac{dP}{dt} = (r(t) - s)P(t)\\P(0) = P_0\end{cases}$$
waarin
populatie()
met volgende argumenten:
r
: reproductiefunctie, met 1 argument van het type float
s
: stertecijfer P0
: startpopulatie N
: aantal iteratiestappen van de GDV-solvertmax
: het eindpunt van het gesloten interval $$[0, t_{max}]$$waarvoor de populatie moet bepaald worden.
f = lambda t:0.500000 t, p = populatie(f, 0.4, 10, 100, 100) print(t[::10]) #[0.00, 10.00, 20.00, 30.00, 40.00, 50.00, 60.00, 70.00, 80.00, 90.00, 100.00] print(p[::10]) #[10.00, 25.94, 67.27, 174.49, 452.59, 1173.91, 3044.82, 7897.47, 20484.00, 53130.23, 137806.12] f = lambda t:0.500000 if t < 100/2 else 0.200000 t, p = populatie(f, 0.4, 10, 100, 100) print(t[::10]) #[0.00, 10.00, 20.00, 30.00, 40.00, 50.00, 60.00, 70.00, 80.00, 90.00, 100.00] print(p[::10]) #[10.00, 25.94, 67.27, 174.49, 452.59, 1173.91, 126.05, 13.53, 1.45, 0.16, 0.02]