Apprendre les bases de Python pour réussir en N.S.I.
Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
La suite logistique
Difficulté : de Facile à Difficile
Prérequis : Les listes
La suite est très intéressante à étudier car c'est un des exemples les plus simples qui permettent d'observer ce que l'on appelle le chaos. C'est l'équivalent en physique du double pendule : un phénomène simple et pourtant imprévisible. On pourra lire Wikipédia pour plus d'information sur la théorie du Chaos.
Le but de cette page est donc de présenter la suite logistique et toucher du doigt son coté chaotique.
Définition de la suite
Difficulté : Facile
On appelle suite logistique la suite définie pour un réel par
Créer une fonction u(mu,u0,n)
qui prend en entrée le paramètre
Représentation graphique I
Difficulté : Facile
Une première façon de représenter notre suite est de manière classique c'est à dire n selon les abscisses et
Créer une fonction dessiner(mu,u0,n)
qui affiche avec matplotlib les points associés à la suite allant de plt.plot(X,Y,".-",linewidth=1)
pour afficher les points et les relier. Le résultat devra ressembler à
Remarques : Il n'y a pas de vérificateur car c'est une fonction graphique.
Ne pas oublier de copier coller votre fonctionu(mu,u0,n)
.
Pour la dernière courbe affichée, on peut voir que plus la valeur deaugmente, plus la suite devient chaotique dans le sens où il devient difficile de prédire la valeur de μ alors que pour u n , c'est très facile vu qu'elle se "stabilise" autour d'une seule valeur. μ = 1 , 6
Représentation graphique II
Difficulté : Difficile
Nous allons à présent représenter notre suite par sa représentation dite "en escalier". Cela ressemble à ceci pour
On y représente la fonction
On part de
On recommence ainsi de suite pour calculer
Dans la pratique, comme sur la figure ci-dessus, on enchaine directement les traits sans aller aux axes. Cela donne à chaque fois les deux étapes :
- On joint verticalement le point
au point( u i , u i ) .( u i , u i + 1 ) - On joint horizontalement le point
au point( u i , u i + 1 ) .( u i + 1 , u i + 1 )
A vous maintenant de compléter la fonction dessiner(mu,u0,n)
pour qu'elle affiche la représentation en escalier de la suite logistique c'est à dire dessiner la foncion
Remarques : On peut observer que pour les deux premiers graphiques, la suite converge vers un point, pour les deux suivantes, elle devient plus complexe et oscille entre plusieurs points. Enfin, pour la dernière, on peut voir qu'elle ne se rapproche de plus aucun point en particulier mais au contraire, s'étale sur tout un intervalle de valeurs.
Sensibilité aux conditions initiales
Difficulté : Moyenne
Maintenant, nous allons nous intéresser au caractère chaotique de cette suite. On a pu voir grâce aux représentations précédentes que la suite devient de moins en moins stable au fur et à mesure que
En effet, un suite est dite chaotique lorsqu'elle est sensible aux conditions initiales. Concrètement, cela signifie que si on part de deux conditions initiale très proches
Prenons un exemple non chaotique : je considère la suite dont la relation de récurrence est
Si je commence avec
Si je commence avec
La différence n'est pas flagrante...
Pour notre suite : Pour
Si je commence avec
On est parti de nombres extrêmement proches et pourtant les résultats sont très éloignés. C'est pour cela qu'on dit que cette suite est chaotique.
Cela pose un problème concret pour le calcul : Si vous faites ces calculs avec votre calculatrice, vous ne trouverez pas les mêmes résultats. En effet, la calculatrice n'ayant pas les mêmes chiffres significatifs que python, vous aurez des résultats fondamentalement différents.
Modifier votre fonction dessiner(mu,u0,n)
précédente (la seconde si possible mais ça peut être la première si vous n'avez pas réussi à écrire la seconde) pour qu'elle affiche la suite commençant par
Remarque : Pour l'affichage, on a pris différentes valeurs de
Pour encore mieux voir le phénomène, vous pouvez modifier encore votre fonction pour n'afficher que les 30 dernieres valeurs de la suite pour bien voir que l'évolution est très différentes.
Diagramme de bifurcation
Difficulté : Difficile
On a vu sur les représentations précédentes que plus
Pour avoir une idée de l'évolution lorsque
En abscisse, on fait varier
Pour
Compléter le programme suivant pour qu'il affiche le diagramme de bifurcation entre 2 et 4.
Prolongements possibles
On pourra observer les comportements d'autres suites comme par exemple
Un prolongement possible est aussi l'étude de la fonction logistique