: Régulation
2020/2021
Table des matières :
TP 1 : Initiation MATLAB
o Calcul matriciel
o Graphiques
TP2 simulation d`un système sous MATLAB
o Etape 1 : Déclaration de toutes les fonctions de
transfert
o Etape 2 : Etude du système en boucle ouvert
o Etape 3 :Etude du système en boucle fermée
o Etape 4 : analyser la réponse d’un système par
rapport à un autre signal
o Tracer un diagramme de BODE
TP 3 Etude temporelle et harmonique des systèmes
o Etude du système de 1er ordre
o Etude du système de 2em ordre
1
TP 4l’ utilisation de MATLAB pour l’automatique
o Programme 1
o Programme 2
o Programme 3
o Programme 4
o Programme 5
o Programme 6
1
I. TP 1 Initiation MATLAB :
1.Calcul matriciel :
Pour entrer la matrice A , 2 méthodes sont possible soit :
>>A= [ 3 2 -2 ; -1 0 1 ; 1 1 0]
-1 0 1
110]
La réponse est :
>> A =
3 2 -2
-1 0 1
1 1 0
NB :
>> C=B*A
La réponse est :
C= -2 -1 2
D=A.*A
D=
9 4 4
1 0 1
1 1 0
Cette écriture sert à : multiplier les 2 matrices A et A élément par élément.
NB :
A( :,2)
ans=
2
0
1
Cette écriture sert à :afficher les éléments de la 2em colonne de la
matrice A
B=A ; B(5,1)=10
B=
3 2 -2
-1 0 1
1 1 0
0 0 0
10 0 0
Cette écriture sert à écrire une matrice B dont les éléments de (1,1)
jusqu`à (3,3) sont les mêmes que ceux du matrice A et les autres en une
valeur de 0 sauf celle de l`élément (5,1)
3 2 -2
-1 00 1
1 1 0
00 0 0
10 0 0
1,1 1,2 1,3
2,1 2,2 2,3
3,1 3,2 3,3
4,1 4,2 4,3
5,1 5,2 5,3
C=0 :0.2 :1
C=
0 0.2000 0.4000 0.6000 0.8000 1.0000
Cette écriture sert à écrire la progression entre les éléments 0 et 1 avec
un pas de 0.2 .
B=A+2*eye(3)
B=
5 2 -2
-1 2 1
1 1 2
2
Avec : Eye (3) est la matrice diagonale de 3em dimension.
C=inv(B)
C=
0.1111 -0.2222 0.2222
0.1111 0.4444 -0.1111
-0.1111 -0.1111 0.4444
Inv(B) : sert à écrire inverse de la matrice carré B.
D=det(C)
D=
0.0370
Det(C) : sert à calculer le déterminant de le matrice C.
Pour déterminer la transposé de C on peut utiliser l`une des écritures :
soit : E=C’
Ou : transpose (c)
La réponse est :
E=
1 -6 -72 27
>> roots(P)
ans =
11.8728
-6.2374
0.3646
Roots(P) : est la fonction qui donne les racines du polynômes
polyval(P,3)
ans =
-216
2.Graphiques :
Dans cette partie nous allons traiter les graphiques 2D( MATLAB a la
possibilité de produire des graphiques en 2 et 3 dimension ).
Pour dessiner une courbe il faut :
-déterminer les points de l`axe des x pour lesquels les valeurs de la
fonction seront calculer :
>> x=0 : pi/4 : 5*pi
-calculer la valeur de la fonction pour chaque valeur de x :
>> y=sin(x/pi)
La réponse est :
Columns 1 through 11
Columns 12 through 21
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 2 4 6 8 10 12 14 16
H1=3;
H2num=[2 30];
H2den=[1 1 3];
H2=tf(H2num,H2den)
H3num=0.5;
H3den=[1 10];
H3=tf(H3num,H3den)
NB :
La réponse est :
H1=3 ;
H2 =
2 s + 30
-----------
s^2 + s + 3
H3 =
0.5
------
s + 10
step(G)
La réponse est :
Step Response
45
40
35
30
Amplitude
25
20
15
10
0
0 2 4 6 8 10 12
Time (seconds)
G=series(H1,H2);
Gbf=feedback(G,H3);
figure(2)
step(Gbf)
La réponse est :
Step Response
20
18
16
14
12
Amplitude
10
0
0 2 4 6 8 10 12 14
Time (seconds)
t=0 :0,05 :12 ;
figure (3)
lsim(Gbf,t,t) ;
La réponse est :
100
Amplitude
50
0
0 2 4 6 8 10 12
Time (seconds)
Tracer un diagramme de BODE :
num=20;
den=[1 50 2];
G=tf(num,den);
figure (1)
bode(G)
La réponse est :
Bode Diagram
50
Magnitude (dB)
-50
-100
0
-45
Phase (deg)
-90
-135
-180
-3 -2 -1 0 1 2 3
10 10 10 10 10 10 10
Frequency (rad/s)
t=0:0.01:10 ;
k=4; taux=2
y1=impulse(sys,t);
figure(1)
plot(t,y1)
y2 = 3*step(sys,t)
figure(2)
plot(t,y2);
hold on
ym=max(y2);
yt=0.63*ym;
max_idx=min(find(y2>=yt));
tau=t(max_idx);
str=sprintf('tau=\n%3.2f s',tau)
gtext(str)
hold off
a=6;
u=a*t;
y3=lsim(sys,u,t)
figure(3)
1.8
1.6
1.4
1.2
0.8
0.6
0.4
0.2
0
0 1 2 3 4 5 6 7 8 9 10
3.5
tau=
2.5
1.97 s
1.5
0.5
0
0 1 2 3 4 5 6 7 8 9 10
Programme 1 :
200
180
160
140
120
100
80
60
40
20
0
0 1 2 3 4 5 6 7 8 9 10
Programme 1 :
num=10
den=[1 2 10]
t=0:0.1:10;
y=step(num,den,t);
plot(t,y)
title('reponse a un echelon');
line([0 10],[1.05 1.05])%tracer la ligne qui passe par les 2 points (0 ;1.05)et(10 ;1.05)
line([0 10],[0.95 0.95]) ])%tracer la ligne qui passe par les 2 points (0 ;0.95)et(10 ;0.95)
figure
la reponse est :
num = 10
den =
1 2 10
num/den =
10
--------------
s^2 + 2 s + 10
reponse a un echelon
1.4
1.2
0.8
y
0.6
0.4
0.2
0
0 1 2 3 4 5 6 7 8 9 10
temps
Step Response
0.8
0.7
0.6
0.5
Amplitude
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6
Time (seconds)
Programme 2:
num=10
den=[1 2 10]
figure
ramp=t;
y = lsim(num,den,ramp,t);
plot(t,y)
figure
sinus=sin(t);
z=lsim(num,den,sinus,t);
plot(t,z)
hold on %"hold on" permet de tracer plusieurs courbes dans la même fenêtre. "hold off" annule
cette commande.
la reponse est :
num =
10
den =
1 2 10
10
0
0 1 2 3 4 5 6 7 8 9 10
1.5
0.5
-0.5
-1
-1.5
0 1 2 3 4 5 6 7 8 9 10
Programme 3 :
num = 10
den = [1 2 10]
bode(num,den)
grid
la réponse est :
num =
10
den =
1 2 10
gm =
Inf
pm =
53.1445
wcg =
Inf
wcp =
3.9995
Bode Diagram
20
0
Magnitude (dB)
-20
-40
-60
0
-45
Phase (deg)
-90
-135
-180
-1 0 1 2
10 10 10 10
Frequency (rad/s)
Programme4 :
num=10
den=[1 2 10]
figure
%pour avoir un diagramme de Bode personnalisé
puls=logspace(0,1,100);
[ampli,phase,puls]=bode(num,den,puls);
subplot(211),semilogx(puls,20*log10(ampli)),
grid
subplot(212),semilogx(puls,phase)
grid
margin(num,den)
[gm,pm,wcg,wcp]=margin(num,den)
La reponse est:
num =
10
den = 1 2 10
gm =
Inf
pm =
53.1445
wcg =
Inf
wcp = 3.9995
-5
-10
-15
-20
0 1
10 10
Bode Diagram
Gm = Inf dB (at Inf rad/s) , Pm = 53.1 deg (at 4 rad/s)
Magnitude (dB)
100
-100
Phase (deg)
0
-90
-180
-1 0 1 2
10 10 10 10
Frequency (rad/s)
Programme 5 :
num=10
den=[1 2 10]
nichols(num,den)
ngrid
line([-135 -135],[0 -50]) %permet de tracer une ligne verticale d'abscisse –135° pour la
visualisation de la marge de phase à 45°.
la reponse est :
num =10
den =
1 2 10
Nichols Chart
40
0 dB
30 0.25 dB
0.5 dB
20 1 dB -1 dB
10 3 dB
6 dB -3 dB
Open-Loop Gain (dB)
0 -6 dB
-10 -12 dB
-20 -20 dB
-30
-40 -40 dB
-50
-60 dB
-60
-360 -315 -270 -225 -180 -135 -90 -45 0
Open-Loop Phase (deg)
Programme 6 :
num=10
den=[1 2 10]
nyquist(num,den) % Diagramme de Nyquist
la reponse est:
num =
10
den =
1 2 10
Nyquist Diagram
2
1.5
0.5
Imaginary Axis
-0.5
-1
-1.5
-2
-1 -0.5 0 0.5 1 1.5
Real Axis