Matlab 9
Matlab 9
Matlab 9
Croisille 1
MATLAB 9
Systèmes dynamiques
J-P. Croisille
1- Equation de la logistique
On considère l’e.d.o.
y ′ (t) = y(1 − y)
(1)
y(0) = 1/10
appelée équation de la logistique.
1) Entrer le script logistic.m
1 % -- SEP 16, 2010 - SCHEMA D’EULER EXPLICITE
2 % -- POUR L’EQUATION DE LA LOGISTIQUE
3 clear all;
4 T0=0; % TEMPS INITIAL
5 y0=2.% DONNEE INITIALE
6 T=10; % TEMPS FINAL
7 dt=0.2 % PAS DE TEMPS
8 n=floor(T/dt);
9 y=zeros(n,1); tt=zeros(n,1);
10 y(1)=y0;
11 tt(1)=T0;
12 for i=1:n-1
13 y(i+1)=y(i)+dt*y(i)*(1-y(i));
14 tt(i+1)=T0+(i+1)*dt;
15 end
16 plot(tt,y,’o’);
17
. Vérifier que ce programme effectue la résolution de l’équation (1) par le schéma d’Euler
explicite sur l’ intervalle [T 0, T ]. On note dt le pas de temps. Réaliser plusieurs simulations avec
ce code pour dt=1, dt=0.1, dt=0.01,... sur t ∈ [0, 10].
Laboratoire Mathématiques et Applications de Metz - 2010/2011 - J-P. Croisille 2
2) Choisir différentes conditions initiales y0 et tracer les résultats obtenus sur le même dessin.
3) Ecrire une variante du programme ci-dessus qui fait le même calcul, mais en effectuant une
animation à l’affichage. On pourra utiliser la commande pause après chaque nouveau calcul.
2- Quelques équations différentielles
On considère les équations suivantes:
• équation de van der Pol ′
y1 (t) = y2
y ′ (t) = (1 − y12 )y2 − y1 (2)
2
y1 (0) = 1/2 y2 (0) = 1/2
sur t ∈ [0, 25]
• équation de Mathieu ′
y1 (t) = y2
y ′ (t) = −(2 − cos(2t))y1 (3)
2
y1 (0) = 1 y2 (0) = 0
sur t ∈ [0, 30]
• équation de Curtiss-Hirschfelder
y ′ (t) = −50(y − cos(t))
(4)
y(0) = 1
3) Tracer l’erreur au cours du temps entre la solution calculée par la méthode d’Euler explicite et
la solution de référence (ou la solution exacte) pour chacune des 3 équations.
3- Equation de Van der Pol
On considère l’équation de Van der Pol suivante
′
x (t) = y − f (x)
y ′ (t) = −x (6)
x(0) = a y(0) = b
1) On appelle portrait de phase pour le système (4) la courbe paramétrée t 7→ (x(t), y(t). Tracer
le portrait de phase approché quand on utilise le schéma d’Euler explicite.
2) Qu’est-ce qu’un point d’équilibre pour un système différentiel tel que (4) ?. Vérifier que (0, 0)
est un point d’équilibre instable.
3) On souhaite observer la bifurcation de Hopf lorsque µ = 0 associée à la fonction fµ (x) = x3 −µx.
Lorsque 1 ≥ µ > 0, on a une unique orbite périodique et l’origine est une source. Lorsque
−1 ≤ µ ≤ 0, 0 est un puit. Vérifier ceci numériquement.
Laboratoire Mathématiques et Applications de Metz - 2010/2011 - J-P. Croisille 3
4- Calcul d’erreur
1) Vérifier que y(t) = e−t sin(2t) est la solution du problème
′
y (t) = −y + 2e−t cos(2t)
(7)
y(0) = 0
par le schéma d’Euler explicite. On appellera une fonction matlab qui correspond à f (y, t).
2) Utiliser ce programme pour trouver une approximation à 10−4 près des fonctions y(t) solutions
des problèmes suivants: ′
y (t) = y + e−y + 2t
(9)
y(0) = 0
′
y (t) = 1 − t + y 2
(10)
y(0) = 0
(
t2 +y 2
y ′ (t) = 1+t+y 2
(11)
y(0) = 0
′
y (t) = et y 2 − 2y
(12)
y(0) = 1
′
y (t) = ty 3 − y
(13)
y(0) = 1
On présentera les courbes sur des graphiques indépendants.