Commit 9028cff6 authored by Ludovic Mailleret's avatar Ludovic Mailleret
Browse files

Fixes gitlab maths in simulations_python.md

parent 842f5ddf
......@@ -457,19 +457,19 @@ Vous pouvez vous rapporter à la page de [corrections](./biomaths_mam4_tordeuse.
Nous considérons le modèle de dynamique de populations (classique) de Lotka et Volterra.
$$
~~~math
\left\{\begin{array}{l}
\dot x = rx - c xy\\
\dot y = bxy - m y
\end{array}\right.
$$
Nous allons simuler ce modèle pour $r=1, c=1, b=1, m=1$, représenter les dynamiques de populations en fonction du temps et dans le plan de phase $(x,y)$. Cette partie est calquée sur ce que nous avons fait précédemment pour le modèle de tordeuse avec population d'oiseaux variable.
~~~
Nous allons simuler ce modèle pour $`r=1, c=1, b=1, m=1`$, représenter les dynamiques de populations en fonction du temps et dans le plan de phase $`(x,y)`$. Cette partie est calquée sur ce que nous avons fait précédemment pour le modèle de tordeuse avec population d'oiseaux variable.
Les subtilités concernent la représentation dans le plan de phase. Pour cela nous calculerons les isoclines nulles et représenterons les équilibres, et la trajectoire simulée.
Nous utiliserons par ailleurs les méthodes `streamplot()` et `quiver()` des systèmes d'axes pour représenter l'orientation du champs de vecteur et quelques échantillons de trajectoires approximées. Ces deux méthodes calculent le champs de vecteur ou une approximation des trajectoires sur une grille dans le plan $(x,y)$. Il convient d'abord de définir cette grille :
Nous utiliserons par ailleurs les méthodes `streamplot()` et `quiver()` des systèmes d'axes pour représenter l'orientation du champs de vecteur et quelques échantillons de trajectoires approximées. Ces deux méthodes calculent le champs de vecteur ou une approximation des trajectoires sur une grille dans le plan $`(x,y)`$. Il convient d'abord de définir cette grille :
```python
# définition de l'échantillonnage selon $x$ et $y$
......@@ -504,9 +504,9 @@ ax2.streamplot(X, Y, dx, dy, density = 0.4, maxlength = 0.25, color = "purple")
#### Intégrale première
Finalement, nous représentons l'intégrale première (quantité conservée au cours du temps dans ce système) en fonction du temps, puis dans un graphique en 3D en fonction de $x$ et de $y$, ainsi qu'une trajectoire du système dans cet espace. La quantité conservée au cours du temps dans le modèle de Lotka Volterra est la suivante:
$$
~~~math
H(x,y) = b\ x-m\ln(x) + c\ y- r\ln(y)
$$
~~~
Nous commençons par définir cette fonction, ce qui devrait être assez direct:
```python
......@@ -533,7 +533,7 @@ On peut facilement représenter l'évolution de cette fonction au cours du temps
fig4, ax4 = plt.subplots(1, 1, subplot_kw={"projection": "3d"}, figsize=(14, 8))
```
- Le calcul d'une fonction de deux variables à valeurs dans $\mathbb{R}$ sur une grille (qui est cependant similaire à ce que l'on a fait plus haut pour la représentation du champs de vecteur):
- Le calcul d'une fonction de deux variables à valeurs dans $`\mathbb{R}`$ sur une grille (qui est cependant similaire à ce que l'on a fait plus haut pour la représentation du champs de vecteur):
```python
# définition de l'échantillonnage selon $x$ et $y$
......@@ -547,7 +547,7 @@ X, Y = np.meshgrid(x_grid, y_grid)
int_premiere_grid = int_premiere([X, Y], params_LV)
```
- La représentation de cette fonction en fonction de $x$ et $y$ :
- La représentation de cette fonction en fonction de $`x`$ et $`y`$ :
```python
# nous tracons l'integrale première sur la grille
......@@ -565,7 +565,7 @@ ax4.set_zlabel("intégrale première", fontsize='16')
fig4.suptitle("Intégrale première\n modèle de Lotka Volterra", va='top', fontsize='18')
```
Finalement nous pouvons surimposer sur cette figure le plan correspondant à la valeur initiale de l'intégrale première en fonction de $x$ et $y$, ainsi que l'évolution de cette quantité au cours du temps le long de la trajectoire simulée:
Finalement nous pouvons surimposer sur cette figure le plan correspondant à la valeur initiale de l'intégrale première en fonction de $`x`$ et $`y`$, ainsi que l'évolution de cette quantité au cours du temps le long de la trajectoire simulée:
```python
# tracé du plan correspondant a la valeur initiale de l'intégrale première
......@@ -585,13 +585,13 @@ display(fig4)
### Le modèle proies-prédateurs de Rosenzweig-MacArthur
Nous considérons le modèle de dynamique de populations attribué à Rosenzweig et MacArthur (voir [Rosenzweig & MacArthur (1963)](http://www.jstor.com/stable/2458702), [Turchin (2003)](http://www.jstor.com/stable/2458702), [Smith (2008)](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.710.95&rep=rep1&type=pdf)).
$$
~~~math
\left\{\begin{array}{l}
\dot x = \displaystyle rx\left(1-\frac{x}{K}\right) - c \frac{x}{h+x} y\\
\dot y = b\displaystyle \frac{x}{h+x} y - m y
\end{array}\right.
$$
avec $x$ et $y$ les densités de proies et prédateurs, respectivement.
~~~
avec $`x`$ et $`y`$ les densités de proies et prédateurs, respectivement.
......@@ -600,14 +600,14 @@ avec $x$ et $y$ les densités de proies et prédateurs, respectivement.
La simulation et la représentation graphique est vraiment dans la droite ligne de ce qui a été fait plus haut pour le modèle de Lotka Volterra.
On prendra comme valeurs de paramètres :
$$
~~~math
r=1,\ K=10,\ c= 1,\ h=2,\ b=2,\ m=1.
$$
Pour ces valeurs, il existe un cycle limite attractif. Vous pouvez diminuer $K$ pour voir l'effondrement du cycle en un équilibre positif asymptotiquement stable, voire l'extinction des prédateurs.
~~~
Pour ces valeurs, il existe un cycle limite attractif. Vous pouvez diminuer $`K`$ pour voir l'effondrement du cycle en un équilibre positif asymptotiquement stable, voire l'extinction des prédateurs.
#### Diagramme de bifurcations $y_\infty$ en fonction de $K$
#### Diagramme de bifurcations $`y_\infty`$ en fonction de $`K`$
Il y a de nombreuses manières de faire des diagrammes de bifurcations en fonction de paramètres, notamment :
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment