Équations Lotka-Volterra#
Également connues sous le nom d’équations prédateur-proie, elles décrivent la variation des populations de deux espèces qui interagissent par le biais de la prédation. Il s’agit d’un modèle classique pour représenter la dynamique de deux populations où \(x\) représente la quantité des proies et \(y\) celles des prédateurs.
\[\begin{split}
\left \{
\begin{array}{rcl}
\dot{x} &=& \alpha x - \beta x y \\
\dot{y} &=& -\delta y + \gamma x y
\end{array}
\right .
\end{split}\]
import numpy
import scipy
import matplotlib.pyplot as plt
def derivative(X, t, alpha=0.8, beta=1, delta=0.5, gamma=1):
x, y = X
dotx = x * (alpha - beta * y)
doty = y * (-delta + gamma * x)
return numpy.array([dotx, doty])
t = numpy.linspace(0., 50, 1000)
X0 = [1, .1]
res = scipy.integrate.odeint(derivative, X0, t)
prey, predator = res.T
fig, ax = plt.subplots(figsize=[5.0, 2.0])
ax.plot(t, prey, label='proies')
ax.plot(t, predator, label='prédateurs')
ax.set_xlabel('temps')
ax.set_ylabel('Population')
ax.legend()
<matplotlib.legend.Legend at 0x194c5478290>