14
INFO-F-305 Modélisation et Simulation Introduction à SIMULINK et cas d’étude (II/II) 1 Rappel Les scripts référencés dans les cas d’étude sont disponibles sur la page web : www.ulb.ac.be/di/map/gbonte/modsim/casetud/. Après les avoir en- registrés dans votre dossier courant de matlab (tapez pwd dans le terminal Matlab pour identifier votre dossier courant), ils peuvent être lancés direc- tement en tapant leur nom sur le terminal Matlab. Ces fichiers font appel à des fichiers .mdl contenant les modèles, et que vous pouvez visualiser en les ouvrant directement à partir de Simulink. Pour chaque script, veillez à bien comprendre à la fois le script et le modèle . 2 Préliminaires – Examiner et comprendre le fichier mod6.mdl contenant le modèle qui sera utilisé tout au long de ce TP. Double-cliquer sur le bloc DEE pout voir ses paramètres, et vérifier les paramètres de temps de simulation dans Simulation -> Configuration Parameters. – Visualiser le code du premier cas d’étude : cas61.m (donné en annexe). – Veiller à bien fermer toutes les figures avant de lancer une nouvelle simulation, afin d’éviter les erreurs d’affichage. 3 Cas 6: système linéaire autonome d’ordre 2 3.1 Introduction 1. Description: les taux de changement des deux états dépend linéaire- ment de la valeur de l’autre état et de sa propre valeur. La dépendance mutuelle peut causer des phénomènes d’oscillation. Selon le signe de la rétroaction, la réponse peut être amplifiée ou amortie. 2. Applications pratiques: systèmes mécaniques composés par une masse, un ressort et un amortisseur; pendules (pour petites angles); circuits électriques. 1

INFO-F-305 Modélisation et Simulation Introduction à ... · INFO-F-305 Modélisation et Simulation Introduction à SIMULINK et cas d’étude (II/II) 1 Rappel Les scripts référencés

  • Upload
    dotu

  • View
    224

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INFO-F-305 Modélisation et Simulation Introduction à ... · INFO-F-305 Modélisation et Simulation Introduction à SIMULINK et cas d’étude (II/II) 1 Rappel Les scripts référencés

INFO-F-305 Modélisation et SimulationIntroduction à SIMULINK et cas d’étude (II/II)

1 Rappel

Les scripts référencés dans les cas d’étude sont disponibles sur la pageweb : www.ulb.ac.be/di/map/gbonte/modsim/casetud/. Après les avoir en-registrés dans votre dossier courant de matlab (tapez pwd dans le terminalMatlab pour identifier votre dossier courant), ils peuvent être lancés direc-tement en tapant leur nom sur le terminal Matlab. Ces fichiers font appel àdes fichiers .mdl contenant les modèles, et que vous pouvez visualiser en lesouvrant directement à partir de Simulink. Pour chaque script, veillez à biencomprendre à la fois le script et le modèle.

2 Préliminaires

– Examiner et comprendre le fichier mod6.mdl contenant le modèle quisera utilisé tout au long de ce TP. Double-cliquer sur le bloc DEE poutvoir ses paramètres, et vérifier les paramètres de temps de simulationdans Simulation -> Configuration Parameters.

– Visualiser le code du premier cas d’étude : cas61.m (donné en annexe).– Veiller à bien fermer toutes les figures avant de lancer une nouvelle

simulation, afin d’éviter les erreurs d’affichage.

3 Cas 6: système linéaire autonome d’ordre 2

3.1 Introduction

1. Description: les taux de changement des deux états dépend linéaire-ment de la valeur de l’autre état et de sa propre valeur. La dépendancemutuelle peut causer des phénomènes d’oscillation. Selon le signe dela rétroaction, la réponse peut être amplifiée ou amortie.

2. Applications pratiques: systèmes mécaniques composés par une masse,un ressort et un amortisseur; pendules (pour petites angles); circuitsélectriques.

1

Page 2: INFO-F-305 Modélisation et Simulation Introduction à ... · INFO-F-305 Modélisation et Simulation Introduction à SIMULINK et cas d’étude (II/II) 1 Rappel Les scripts référencés

3. Hypothèses, assomptions et connaissance au préalable

4. Structure

(a) Dimensionnalité: n = 2 états, m = 0 entrée, p = 1 sortie

(b) Contraintes sur la fonction d’entrée u(t): néant

(c) Temps: continu

(d) Espace d’état: continu

(e) Paramètres:

A =

[a11 a12a21 a22

](f) Formalisme: EDO

(g) Équations x1(t) = a11x1(t) + a12x2(t)

x2(t) = a21x1(t) + a22x2(t)

y(t) = x1(t)

3.2 Simulation 1 : selle

1. Conditions initiales: x(0) = [0.5, 0]

2. Valeurs paramètres

A =

[1 33 1

]Notons que les valeurs propres de A sont λ1 = 4, λ2 = −2. Elles sontréelles et de signe opposé.

3. Intervalle de temps de simulation [0, 1].

4. Fonction(s) d’entrée: néant

5. Résolution numérique: default MATLAB

6. Implémentation: script MATLAB/Simulink cas61.m.

7. Visualisation:

0 0.2 0.4 0.6 0.8 10

2

4

6

8

10

12

14

t

x 1

0 0.2 0.4 0.6 0.8 10

2

4

6

8

10

12

14

t

x 2

Cas d’étude 6: simulation 1

2

Page 3: INFO-F-305 Modélisation et Simulation Introduction à ... · INFO-F-305 Modélisation et Simulation Introduction à SIMULINK et cas d’étude (II/II) 1 Rappel Les scripts référencés

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

x1

x 2

Portrait de phases

3.3 Simulation 2: selle

1. Conditions initiales: x(0) = [0,−0.5]

2. Valeurs paramètres

A =

[1 33 1

]Notons que les valeurs propres de A sont λ1 = 4, λ2 = −2. Elles sontréelles et de signe opposé.

3. Intervalle de temps de simulation [0, 1].

4. Fonction(s) d’entrée: néant

5. Résolution numérique: default MATLAB

6. Implémentation: script MATLAB/Simulink cas62.m.

7. Visualisation:

0 0.2 0.4 0.6 0.8 1−14

−12

−10

−8

−6

−4

−2

0

t

x 1

0 0.2 0.4 0.6 0.8 1−14

−12

−10

−8

−6

−4

−2

0

t

x 2

Cas d’étude 6: simulation 1

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

x1

x 2

Portrait de phases

3

Page 4: INFO-F-305 Modélisation et Simulation Introduction à ... · INFO-F-305 Modélisation et Simulation Introduction à SIMULINK et cas d’étude (II/II) 1 Rappel Les scripts référencés

3.4 Simulation 3: selle

1. Conditions initiales: 20 vecteurs choisis de manière aléatoire uniformedans la région [−2,−2]× [2, 2]

2. Valeurs paramètres

A =

[1 33 1

]Notons que les valeurs propres de A sont λ1 = 4, λ2 = −2. Elles sontréelles et de signe opposé.

3. Intervalle de temps de simulation [0, 1].

4. Fonction(s) d’entrée: néant

5. Résolution numérique: default MATLAB

6. Implémentation: script MATLAB/Simulink cas63.m.

7. Visualisation:

0 0.5 1−100

−80

−60

−40

−20

0

20

40

60

80

100

t

x 1

0 0.5 1−100

−80

−60

−40

−20

0

20

40

60

80

100

t

x 2

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

x1

x 2

Portrait de phases

3.5 Simulation 4: noeud stable

1. Conditions initiales: x(0) = [1.5, 0]

2. Valeurs paramètres

A =

[−4 −23 −11

]Notons que les valeurs propres de A sont λ1 = −5, λ2 = −10. Ellessont réelles et de signe négatif.

4

Page 5: INFO-F-305 Modélisation et Simulation Introduction à ... · INFO-F-305 Modélisation et Simulation Introduction à SIMULINK et cas d’étude (II/II) 1 Rappel Les scripts référencés

3. Intervalle de temps de simulation [0, 1].

4. Fonction(s) d’entrée: néant

5. Résolution numérique: default MATLAB

6. Implémentation: script MATLAB/Simulink cas64.m.

7. Visualisation:

0 0.2 0.4 0.6 0.8 10

0.5

1

1.5

t

x 1

0 0.2 0.4 0.6 0.8 10

0.05

0.1

0.15

0.2

0.25

t

x 2

Cas d’étude 6: simulation 4

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

x1

x 2

Portrait de phases

3.6 Simulation 5: noeud stable

1. Conditions initiales: x(0) = [−1.5,−1.5]

2. Valeurs paramètres

A =

[−4 −23 −11

]Notons que les valeurs propres de A sont λ1 = −5, λ2 = −10. Ellessont réelles et de signe négatif.

3. Intervalle de temps de simulation [0, 1].

4. Fonction(s) d’entrée: néant

5. Résolution numérique: default MATLAB

6. Implémentation: script MATLAB/Simulink cas65.m.

7. Visualisation:

5

Page 6: INFO-F-305 Modélisation et Simulation Introduction à ... · INFO-F-305 Modélisation et Simulation Introduction à SIMULINK et cas d’étude (II/II) 1 Rappel Les scripts référencés

0 0.2 0.4 0.6 0.8 1−1.5

−1

−0.5

0

t

1

0 0.2 0.4 0.6 0.8 1−1.5

−1

−0.5

0

t

x 2

Cas d’étude 6: simulation 5

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

x1

x 2

Portrait de phases

3.7 Simulation 6: noeud stable

1. Conditions initiales: 20 vecteurs choisis de manière aléatoire uniformedans la région [−2,−2]× [2, 2]

2. Valeurs paramètres

A =

[−4 −23 −11

]Notons que les valeurs propres de A sont λ1 = −5, λ2 = −10. Ellessont réelles et de signe négatif.

3. Intervalle de temps de simulation [0, 1].4. Fonction(s) d’entrée: néant5. Résolution numérique: default MATLAB6. Implémentation: script MATLAB/Simulink cas66.m.7. Visualisation:

0 0.2 0.4 0.6 0.8 1−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

t

1

0 0.2 0.4 0.6 0.8 1−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

t

x 2

Cas d’étude 6: simulation 6

6

Page 7: INFO-F-305 Modélisation et Simulation Introduction à ... · INFO-F-305 Modélisation et Simulation Introduction à SIMULINK et cas d’étude (II/II) 1 Rappel Les scripts référencés

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

x1

x 2

Portrait de phases

3.8 Simulation 7: noeud instable

1. Conditions initiales: 20 vecteurs choisis de manière aléatoire uniformedans la région [−2,−2]× [2, 2]

2. Valeurs paramètres

A =

[4 2−3 11

]Notons que les valeurs propres de A sont λ1 = 5, λ2 = 10. Elles sontréelles et de signe positif.

3. Intervalle de temps de simulation [0, 1].4. Fonction(s) d’entrée: néant5. Résolution numérique: default MATLAB6. Implémentation: script MATLAB/Simulink cas67.m.7. Visualisation:

0 0.2 0.4 0.6 0.8 1−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5x 10

4

t

1

0 0.2 0.4 0.6 0.8 1−4

−2

0

2

4

6

8x 10

4

t

x 2

Cas d’étude 6: simulation 7

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

x1

x 2

Portrait de phases

7

Page 8: INFO-F-305 Modélisation et Simulation Introduction à ... · INFO-F-305 Modélisation et Simulation Introduction à SIMULINK et cas d’étude (II/II) 1 Rappel Les scripts référencés

3.9 Simulation 8: une valeur propre nulle

1. Conditions initiales: 20 vecteurs choisis de manière aléatoire uniformedans la région [−2,−2]× [2, 2]

2. Valeurs paramètres

A =

[−1 −3−1 −3

]Notons que les valeurs propres de A sont λ1 = 0, λ2 = −4. La valeurpropre non nulle est négative.

3. Intervalle de temps de simulation [0, 1].4. Fonction(s) d’entrée: néant5. Résolution numérique: default MATLAB6. Implémentation: script MATLAB/Simulink cas68.m.7. Visualisation:

0 0.2 0.4 0.6 0.8 1−3

−2

−1

0

1

2

3

t

x 1

0 0.2 0.4 0.6 0.8 1−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

t

x 2

Cas d’étude 6: simulation 8

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

x1

x 2

Portrait de phases

3.10 Simulation 9: centre elliptique

1. Conditions initiales: 20 vecteurs choisis de manière aléatoire uniformedans la région [−2,−2]× [2, 2]

2. Valeurs paramètres

A =

[0 4−1 0

]Notons que les valeurs propres de A sont complexes conjuguées: λ1 =−2i, λ2 = 2i.

8

Page 9: INFO-F-305 Modélisation et Simulation Introduction à ... · INFO-F-305 Modélisation et Simulation Introduction à SIMULINK et cas d’étude (II/II) 1 Rappel Les scripts référencés

3. Intervalle de temps de simulation [0, 10].

4. Fonction(s) d’entrée: néant

5. Résolution numérique: default MATLAB

6. Implémentation: script MATLAB/Simulink cas69.m.

7. Visualisation:

0 2 4 6 8 10−5

−4

−3

−2

−1

0

1

2

3

4

5

t

x 1

0 2 4 6 8 10−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

t

x 2

Cas d’étude 6: simulation 9

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

x1

x 2

Portrait de phases

3.11 Simulation 10: foyer stable

1. Conditions initiales: 20 vecteurs choisis de manière aléatoire uniformedans la région [−2,−2]× [2, 2]

2. Valeurs paramètres

A =

[−4 5−5 2

]Notons que les valeurs propres de A sont complexes conjuguées: λ1 =−1 + 4i, λ2 = −1− 4i.

3. Intervalle de temps de simulation [0, 10].

4. Fonction(s) d’entrée: néant

5. Résolution numérique: default MATLAB

6. Implémentation: script MATLAB/Simulink cas610.m.

7. Visualisation:

9

Page 10: INFO-F-305 Modélisation et Simulation Introduction à ... · INFO-F-305 Modélisation et Simulation Introduction à SIMULINK et cas d’étude (II/II) 1 Rappel Les scripts référencés

0 2 4 6 8 10−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

t

1

0 2 4 6 8 10−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

t

x 2

Cas d’étude 6: simulation 10

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

x1

x 2

Portrait de phases

3.12 Simulation 11: noeud impropre (stable dégénéré)

1. Conditions initiales: 20 vecteurs choisis de manière aléatoire uniformedans la région [−2,−2]× [2, 2]

2. Valeurs paramètres

A =

[−2 1−1 0

]Notons que les deux valeurs propres de A sont réelles et coïncidentesλ1 = λ2 = −1

3. Intervalle de temps de simulation [0, 10].4. Fonction(s) d’entrée: néant5. Résolution numérique: default MATLAB6. Implémentation: script MATLAB/Simulink cas611.m.7. Visualisation:

0 2 4 6 8 10−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

t

1

0 2 4 6 8 10−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

t

x 2

Cas d’étude 6: simulation 11

10

Page 11: INFO-F-305 Modélisation et Simulation Introduction à ... · INFO-F-305 Modélisation et Simulation Introduction à SIMULINK et cas d’étude (II/II) 1 Rappel Les scripts référencés

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

x1

x 2

Portrait de phases

3.13 Simulation 12: étoile

Conditions initiales: 20 vecteurs choisis de manière aléatoire uniformedans la région [−2,−2]× [2, 2]

1. Valeurs paramètres

A =

[−1 00 −1

]Notons que les deux valeurs propres de A sont réelles et coïncidentesλ1 = λ2 = −1. Aussi, les vecteurs propres sont indépendants.

2. Intervalle de temps de simulation [0, 10].3. Fonction(s) d’entrée: néant4. Résolution numérique: default MATLAB5. Implémentation: script MATLAB/Simulink cas612.m.6. Visualisation:

0 2 4 6 8 10−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

t

1

0 2 4 6 8 10−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

t

x 2

Cas d’étude 6: simulation 12

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

x1

x 2

Portrait de phases

11

Page 12: INFO-F-305 Modélisation et Simulation Introduction à ... · INFO-F-305 Modélisation et Simulation Introduction à SIMULINK et cas d’étude (II/II) 1 Rappel Les scripts référencés

7. Analyse quantitative et qualitative du comportement:– bien que [0, 0] soit un état d”équilibre pour tous le systèmes de la

forme, la dynamique est très différente et dépend de la nature desvaleurs propres de la matrice A

– Un petit changement des paramètres peut entraîner un changementqualitatif du comportement suite à un changement du type (réel oucomplexe) des valeurs propres ou à un changement de signe de lapartie réelle.

– Dans le cas de valeurs propres complexes les trajectoires orbitentautour de l’origine. La direction de rotation peut être établie encalculant le signe de x1 pour x1 = 0. Si le signe est positif alors larotation est de sens horaire, autrement elle est de sens anti-horaire.

8. Suggestions pour un étude ultérieure:

(a) Définir une matrice paramétrique

A =

[p 11 q

]et étudier le comportement du système associé en fonction desparamètres p et q (justifier par rapport au déterminant).

(b) Vérifier expérimentalement qu’une trajectoire x(t) avec une con-dition initiale donnée x0 peut s’écrire sous la forme

x(t) = c1eλ1tv1 + c2e

λ2tv2

12

Page 13: INFO-F-305 Modélisation et Simulation Introduction à ... · INFO-F-305 Modélisation et Simulation Introduction à SIMULINK et cas d’étude (II/II) 1 Rappel Les scripts référencés

4 Annexe: le code du cas d’étude cas61.m

% Initialisation (fermeture des figures, ...)

clear all

close all

% La matrice

A=[1 3; 3 1];

% L’etat initial

x0=[1/2,0]

% Calcul des valeurs propres

[V,lambda]=eig(A);

lambda=diag(lambda)

V=V/V(1)

% Temps de debut et de fin de simulation

t0=0;

tf=1;

% Lancement de la simulation

sim(’mod6’)

% afficher les solutions x1(t) et x2(t)

figure(1)

subplot(1,2,1); plot(x1.time,x1.signals.values,’-’);

xlabel(’t’); ylabel(’x_1’);

hold on

subplot(1,2,2); plot(x2.time,x2.signals.values,’r-’); xlabel(’t’);

ylabel(’x_2’);

hold on

title(’Cas d’etude 6: simulation 1’)

% Afficher la trajectoire debutant en x0

figure(2)

xrange=[-2,2];

yrange=[-2,2]

plot(x1.signals.values,x2.signals.values,’-’),xlabel(’x_1’); ylabel(’x_2’);

hold on

title(’Portrait de phases’)

axis([-2,2,-2,2])

% Afficher les vecteurs vitesse

13

Page 14: INFO-F-305 Modélisation et Simulation Introduction à ... · INFO-F-305 Modélisation et Simulation Introduction à SIMULINK et cas d’étude (II/II) 1 Rappel Les scripts référencés

plot(0,0,’ko’)

hold on

[x,y] = meshgrid(xrange(1):.25:xrange(2), yrange(1):.25:yrange(2));

xp = A(1,1)*x+A(1,2)*y;

yp=A(2,1)*x+A(2,2)*y;

quiver(x,y,xp,yp,’r’)

%Afficher les droites invariantes

x1 = xrange(1):.25:xrange(2);

if (isreal(lambda(1)))

if (A(1,2)==0)

plot(zeros(length(x1)),x1,’k’,’LineWidth’,1);

else

y1=-1/A(1,2)*(A(1,1)-lambda(1))*x1

plot(x1,y1,’k’,’LineWidth’,1);

xp = A(1,1)*x1+A(1,2)*y1;

yp=A(2,1)*x1+A(2,2)*y1;

quiver(x1,y1,xp,yp,1/2,’r’)

end

end

if (isreal(lambda(2)))

if (A(2,1)==0)

plot(x1,zeros(length(x1)),’k’,’LineWidth’,1);

else

y1=x1

x1=-1/A(2,1)*(A(2,2)-lambda(2))*x1

plot(y1,x1,’r’,’LineWidth’,1);

xp = A(1,1)*x1+A(1,2)*y1;

yp=A(2,1)*x1+A(2,2)*y1;

quiver(x1,y1,xp,yp,’r’)

end

end

14