Stabilité de systèmes dynamiques linéaires plans

Michel de Lara
(last modification date: October 10, 2017)
Version pdf de ce document
Version sans bandeaux

1 Système dynamique linéaire plan
2 Les valeurs propres sont réelles, distinctes
et de même signe

3 Les valeurs propres sont réelles, distinctes
et de signe opposé

4 Les valeurs propres sont complexes conjuguées, distinctes
5 Les valeurs propres sont égales et A est diagonalisable
6 Les valeurs propres sont égales
et A n’est pas diagonalisable

7 L’une des valeurs propres est nulle
8 Perturbations quadratiques

Contents

1 Système dynamique linéaire plan
2 Les valeurs propres sont réelles, distinctes
et de même signe

3 Les valeurs propres sont réelles, distinctes
et de signe opposé

4 Les valeurs propres sont complexes conjuguées, distinctes
5 Les valeurs propres sont égales et A est diagonalisable
6 Les valeurs propres sont égales
et A n’est pas diagonalisable

7 L’une des valeurs propres est nulle
8 Perturbations quadratiques

1 Système dynamique linéaire plan

Un système dynamique linéaire plan est de la forme

  (       )    (          ) (        )
d-   x1(t)   =    a11  a12     x1(t)   = Ax (t),
dt   x2(t)        a21  a22     x2(t)
(1)

A est une matrice 2 × 2 non nulle à coefficients réels. On notera λ1 et λ2 ses valeurs propres (éventuellement complexes conjuguées). Plusieurs cas sont à considérer.

Question 1 Charger la fonction syslin suivante sous Scilab. Interpréter ce que calcule cette fonction.

  function syslin(A)
    // Donne le spectre de A et
    // trace champ de vecteurs et portrait de phase
    // du système linéaire associé
  
    function xdot=linear(t,x)
      //attention ! on écrit linear(t,x) même si linear ne dépend pas de t
      xdot=A*x
    endfunction
  
    abcisse=-10:2:10;
    ordonnee=abcisse;
    time=0:0.1:100;
  
    xset("window",1);xbasc();
    fchamp(linear,0,abcisse,ordonnee)
    xtitle("champ de vecteurs et portrait de phase")
  
    x0=20*(rand(2,1)-0.5);
    res=ode(x0,0,time,linear);
    plot2d(res(1,:),res(2,:),strf = "000")
  
    x0=20*(rand(2,1)-0.5);
    res=ode(x0,0,time,linear);
    plot2d(res(1,:),res(2,:),strf = "000")
  
    // Affichage
    printf("\n");printf("LE SPECTRE DE LA MATRICE EST\n\n");
    printf("%f\n",spec(A))
    // spectre de la matrice A
    printf("\n");printf("LE PORTRAIT DE PHASE EST EN FENETRE 1\n\n");
  endfunction

2 Les valeurs propres sont réelles, distinctes
et de même signe

D’un point de vue algébrique, la matrice A admet deux vecteurs propres réels distincts v1 et v2. Si P = (v ;v )
  1  2 est la matrice réelle de changement de base, on a A = PDiag(λ12)P1. Si on effectue alors le changement de coordonnées z = P1x, le système (1) devient ż = Diag(λ 12)z et les solutions s’écrivent :

(
{  z1(t) = z1(0) eλ1t

(  z2(t) = z2(0) eλ2t.
(2)

On dit que l’origine est un nœud stable ou instable suivant que λ1 et λ2 sont négatives ou positives. La figure 1 représente un nœud stable. Pour avoir un nœud instable il suffit de changer le sens des flèches.


PIC

Figure 1: Nœud stable

Question 2 Exécuter syslin(A) sous Scilab. Commenter.

  A=[-1,2;0,-2]
  syslin(A)

3 Les valeurs propres sont réelles, distinctes
et de signe opposé

Les solutions sont toujours de la forme (2) mais comme les valeurs propres sont de signe opposé, les trajectoires sont rentrantes dans une direction et sortantes dans l’autre. On dit que l’origine est un point-selle ou encore point-col. La figure 2 représente un point-selle pour lequel λ1 est négative et λ2 positive.


PIC

Figure 2: Point-selle

Question 3 Exécuter syslin(A) sous Scilab. Commenter.

  A=[-1,2;0,1]
  syslin(A)

4 Les valeurs propres sont complexes conjuguées, distinctes

Notons les valeurs propres

λ1 = μ +  i𝜃,   λ2 = μ − i𝜃,  𝜃 ⁄= 0.

D’un point de vue algébrique, la matrice A admet deux vecteurs propres complexes conjugués distincts v1 et v2. Si P = (v1;v2) est la matrice complexe de changement de base, on a A = PDiag(λ12)P1. Si on effectue alors le changement de coordonnées complexes z = P1x, le système (1) devient ż = Diag(λ 12)z. Le point complexe z1(t) décrit la courbe

            μt  i𝜃t
t ↦→   z1(0) e  e
(3)

qui est une spirale autour de l’origine. Celle ci est dite spirale instable, centre ou spirale stable suivant que μ est positif, nul ou négatif comme l’indique la figure 3.


PIC

Figure 3: Point spirale stable

Question 4 Exécuter syslin(A) sous Scilab. Commenter.

  A=[-1,1;-1,-1]
  syslin(A)

Question 5 Même question avec la matrice de rotation suivante.

  A=[0,1;-1,0]
  syslin(A)

5 Les valeurs propres sont égales et A est diagonalisable

Les solutions sont de la même forme que (2) mais comme λ1 et λ2 sont égales, le rapport z1(t)∕z2(t) reste constant égal à z1(0)∕z2(0) et les trajectoires sont des droites. On dit que l’origine est un foyer stable ou instable suivant que λ1 est négative ou positive. La figure 4 représente un foyer instable.


PIC

Figure 4: Foyer instable

Question 6 Exécuter syslin(A) sous Scilab. Commenter.

  A=[1,0;0,1]
  syslin(A)

6 Les valeurs propres sont égales
et A n’est pas diagonalisable

Il existe une matrice réelle de changement de base P telle que, d’après la réduction de Jordan,

       (         )
         λ1   0     − 1
A =  P    a   λ    P   .
               1
(4)

Si on effectue le changement de coordonnées z = P1x, le système (1) devient ż = (         )
   λ1   0
    a  λ1z et les solutions s’écrivent :

(
{  z1(t) = z1(0 ) eλ1t

(  z2(t) = z2(0 ) eλ1t + a t z1(0) eλ1t.
(5)

On dit que l’origine est un nœud dégénéré stable ou instable suivant que λ1 est négative ou positive. La figure 5 représente un nœud dégénéré stable.


PIC

Figure 5: Nœud dégénéré stable

Question 7 Exécuter syslin(A) sous Scilab. Commenter.

  A=[-1,2;0,-1]
  syslin(A)

7 L’une des valeurs propres est nulle

La matrice A étant supposée non nulle, on étudie le cas où λ1 = 0 et λ2 = λ0.

D’un point de vue algébrique, la matrice A admet deux vecteurs propres réels distincts v1 et v2. Si P = (v1;v2) est la matrice réelle de changement de base, on a A = PDiag(0)P1. Si on effectue alors le changement de coordonnées z = P1x, le système (1) devient ż = Diag(0)z et les solutions s’écrivent :

(
{  z1(t) = z1(0 )

(  z2(t) = z2(0 ) eλt.
(6)

Ainsi, non seulement l’origine, mais aussi tous les points de la droite d’équation z2 = 0 sont points d’équilibre (cas dégénéré).


PIC

Figure 6: Droite de points d’équilibre

Question 8 Exécuter syslin(A) sous Scilab. Commenter.

  A=[-2,4;1,-2]
  syslin(A)

8 Perturbations quadratiques

Partant du système linéaire précédent, on ajoute une perturbation quadratique

             (   ′     )
dx- = Ax  + 𝜀   x Q1x    + R
 dt             x′Q2x
(7)

𝜀 est un réel, Q1, Q2 des matrices carrées symétriques et R est un vecteur de même dimension que x.

Question 9 Reprendre le code syslin pour en faire un code syslinpert.