
Découvrons la suite logistique Un+1 = r Un(1-Un) avec Python et matplotlib pour trouver le chaos qui s’y niche.

Objectifs
Mathématiques
- Découvrir la suite logistique Un+1 = r Un(1-Un)
- Tracer un graphique pour étudier la convergence d’une suite
- Tracer le diagramme de bifurcation de cette suite
Informatiques
- S’initier à l’utilisation de la bibliothèque matplotlib de Python
- Tracer des courbes avec plot
- Tracer des nuages de points avec scatter
La suite logistique
Cette suite est une modélisation de la croissance et décroissance des populations animales. Le taux r représente le taux de croissance, et (1-Un) limite la population.

Le professeur Robert M. May a popularisé cette équation dans Nature en 1976.
Vidéo : Veritasium sur la suite logistique
Coder une visualisation en Python
import matplotlib.pyplot as plt
nmax = 60
r = 2.7
u0 = 0.7
def u(n):
u=u0
for i in range(n):
u=r*u*(1-u)
return u
x = []
y = []
for n in range(0, nmax):
x.append(float(n))
y.append(float(u(n)))
plt.plot(x,y,'bo')
plt.title("Suite logistique")
plt.show()
Étude de la convergence
Pour r=2,7 : convergence rapide

Pour r=3,4 : oscillation entre deux valeurs

Pour r=3,8 : chaos total

Pour r=3,831 : îlot d’ordre dans le chaos

Le diagramme de bifurcation

import matplotlib.pyplot as plt
nmin, nmax = 40, 200
r, rmax, dr = 1.0, 4.0, 0.001
u0 = 0.6
def u(n, r, u0):
u = u0
for i in range(n):
u = r*u*(1-u)
return u
x, y = [], []
while r < rmax:
for n in range(nmin, nmax):
x.append(float(r))
y.append(float(u(n,r,u0)))
r += dr
plt.scatter(x, y, 1)
plt.show()
Zoom sur la fractale


Conclusion
![]()
Des équations simples peuvent exhiber des comportements chaotiques complexes. Le physicien Mitchell Feigenbaum a découvert dans ce diagramme une constante universelle.
Dépôt GitHub : algo-chaos/1.SuiteLogistique