Licence Physique Recherche 99-2000 Licence Physique Recherche 99-2000

Option chaos et morphogénèse.

Chaouqi Misbah et Frédéric Faure.


TD n01
Oscillateur de Van-der-Pool et Fonction de premier retour


1  Oscillateur de Van-Der-Pool

L'équation de mouvement de l'oscillateur à une dimension x(t) Î R est:

d2x
dt2
-(e-x2) dx
dt
+x = 0
(1)

  1. En posant v = dx/dt , transformer l'équation (1) pour obtenir deux équations différentielles du premier ordre.
  2. Le programme mouvement.cc de l'annexe A (2), (en C++ et utilisant la librairie graphique ROOT sur phcarism), permet d'intégrer les équations de mouvement dx/dt = v , dv/dt = 0 à l'aide de l'algorithme de Runge Kutta à l'ordre 4, à pas variable. Lire, comprendre, copier et exécuter ce programme, et vérifier son bon fonctionnement.
  3. En modifiant le programme précédent de façon adéquate, créer un programme VanDerPool.cc qui permet d'intégrer les équations 1.
  4. A l'aide de votre programme VanDerPool.cc, tracer la trajectoire x(t),v(t) dans l'espace des phases, et la courbe x(t) pour les valeurs e = 0,    0.1,    1,    5 . Observer le cycle limite. (Aide: pour accélérer le graphisme, n'utiliser la commande Update() qu'à la fin du calcul.)

2  L'application de premier retour

On considère l'application

xn+1 = f(xn)
    n = 0,1,2,¼
f(x) = g x (1-x)
    g > 0

  1. Pour quelles valeurs de g , a t-on une application f:[ 0,1] ® [ 0,1] ?
  2. Le programme retour1.cc de l'annexeB (2), dessine la fonction f(x) et la bissectrice y = x . Lire, comprendre, copier et exécuter ce programme, et vérifier son bon fonctionnement.
  3. Ecrire le code de la fonction Dessin_Trajectoire(double x0,long i) qui doit dessiner une trajectoire x0,x1,x2,¼,xi à partir d'une condition initiale x0 donnée. Précisement,à chaque iteration on trace deux segments dans le plan (x,y) : S1: (x,x)® (x,f(x)) et S2: (x,f(x))® (f(x),f(x)) .
    Aide: on trace un segment à l'aide du code:

    TLine *l; 
    l=new TLine(x1,y1,x2,y2);  
    l->SetLineColor(2); // 2=rouge  
    l->Draw("same"); // superpose au dessin précédent

  4. Tracer la trajectoire et observer les points limites pour x0 = 2 , puis pour x0 = 3.2 et x0 = 3.5 . Préciser les valeurs de x0 qui sont à la frontière entre ces différents types de points limites. Dessiner les fonctions f(x) , fof(x) et fofofof(x) . Quel rapport voyez vous?
  5. On veut dessiner la position des points limites dans le plan (g,x) . Compléter le code de la fonction Dessin_attracteurs() qui pour differents g , et differents x0 , calcule les itérés xn pour n = 10000® 11000 et affiche les points (g,xn) . Observer les bifurcations précédentes.
    Aide: on dessine un point à l'aide de

    TMarker *m;  
    m=new TMarker(g,X,6); // petit cercle  
    m->SetMarkerColor(2); // rouge  
    m->Draw();

Annexe A: programme ``mouvement.cc''

mouvement.cc

Annexe B: programme ``retour1.cc''

retour1.cc


File translated from TEX by TTH, version 2.57.
On 2 Mar 2000, 11:13.