22. Změna funkce v řešiči#
Naprostá většina modelování vývoje ekologických systémů spočívá v řešení příslušných modelů numericky. V úloze je přednastaven model pro řešení rovnice logistického růstu
Velice blízký této rovnici po matematické stránce je Levinsův model metapopulací,. popisujících obsazenost fragmentů v životním prostředí. Výchozí tvar pro tento model je
Modifikujte kód tak, aby místo rovnice logistického růstu řešil model metapopulací. Nemusíte nic vědět o ekologickém pozadí modelů, stačí, když více, jaké rovnice chceme řešit. Nemusíte ani rozumět celému kódu slovo od slova. Procházejte kód a snažte se identifikovat místo, kde je použita stará rovnice. Poté opravte jenom definici funkce rovnice
tak, aby odpovídala novému modelu. Použijte a=2
a b=0.75
jako hodnoty parametrů.
Výstup by se měl změnit následovně
Popis |
Obrázek |
---|---|
Původní obrázek |
|
Nový obrázek |
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import solve_ivp
pocatecni_podminka = [0.1]
meze = [0,10]
t = np.linspace(*meze,100)
def rovnice(t, x, r=1, K=1):
return r*x*(1-x/K)
reseni = solve_ivp(
rovnice,
meze,
pocatecni_podminka,
t_eval=t
)
plt.plot(t,reseni.y.T)
plt.grid()