المدرسة العليا في العلوم التطبيقية بالجزائر
Aɣerbaz unnig n tussniwin yettwasensen n Lezzayer
Ecole Supérieure des Sciences Appliquées d'Alger / Département du Second Cycle 2021/2022
On se propose, dans cet exercice de programmation Matlab, de calculer la matrice de retour
d’état K puis celle de précompensation statique N.
Les pôles à assigner à l’asservissement sont : -0.5±2j;-3; -2 et -1. Cela se traduit par le
polynôme caractéristique désiré : P*(λ) = (λ+1)(λ+2)(λ+3)(λ+0.5+2j)(λ+0.5-2j),
P*(λ) = λ5 + 7 λ4 + 21.25 λ3+ 42.5 λ2+ 52.75 λ + 25.5.
Script Matlab :
clc
%% Représentation d'état
A= [1 4 6 3 0
1 0 5 2 -5
3 -2 0 1 2
2 2 1 0 1
3 4 5 0 1];
B= [9 -1 3
2 4 -7
0 2 3
4 8 -5
0 2 3];
C=[ 1 0 0 0 0
0 1 0 0 0
0 0 1 0 0];
%% Eclater la matrice B en 3 colonnes
b1=B(:,1);
b2=B(:,2);
b3=B(:,3);
%% Matrice de commandabilité réduite (indices de commandabilité: 1, 2, 2).
Comn=[b1 b2 A*b2 b3 A*b3];
%% Matrice de commandabilité réduite inverse
Comninv=inv(Comn);
%% Matrice de passage vers l'espace de Brunovsky
%% Extraction des lignes actives
L1=Comninv(1,:);% gamma1=1
L3=Comninv(3,:);% gamma2=1+2=3
L5=Comninv(5,:);% gamma 1=1+2+2=5
%% Formation de la matrice de passage
P=[L1;L3;L3*A;L5;L5*A]
Pinv=inv(P)
%% Représentation d'état dans l'espace de Brunovsky
%% On peut remarquer q'effectivement, les deux matrices
Amar HAMACHE/2ème Année Ingénieur en Traction Electrique/2ième Semestre/Systèmes Multivariables
المدرسة العليا في العلوم التطبيقية بالجزائر
Aɣerbaz unnig n tussniwin yettwasensen n Lezzayer
Ecole Supérieure des Sciences Appliquées d'Alger / Département du Second Cycle 2021/2022
%% ont bien la forme de Brunovsky
Abrunovsky=P*A*Pinv;
Bbrunovsky=P*B;
%% Représentation d'état radicale (ne considérer que les
%% lignes actives:1, 3 et 5)
Aradicale=[Abrunovsky(1,:);Abrunovsky(3,:);Abrunovsky(5,:)];
Bradicale=[Bbrunovsky(1,:);Bbrunovsky(3,:);Bbrunovsky(5,:)];
%% Représentation d'état de Brunovsky désirée
%% on voudrait placer les pôles désirés suivants: -0.5+2*j;
%% -0.5+2*j;-3;-2 et -1;
%% le polynôme caractéristique désiré est:
%% P*(s) = s^5 + 7 s^4 + 21.25 s^3 + 42.5 s^2 + 52.75 s + 25.5
Ad=[0 1 0 0 0
00100
00010
00001
-25.5 -52.75 -42.5 -21.25 -7];
%% Représentation d'état radicale désirée
Adradicale=[Ad(1,:);Ad(3,:);Ad(5,:)];
%% Matrice de retour d'état dans l'espace de Brunovsky
Kbrunovsky=inv(Bradicale)*(Aradicale-Adradicale);
%% Matrice de retour d'état dans l'espace original
K=Kbrunovsky*P
%% Vérification des valeurs propres de l'asservissement
eig(A-B*K)
%% Matrice de précompensation statique
N=-inv(C*inv(A-B*K)*B)
Bonne révision
Amar HAMACHE/2ème Année Ingénieur en Traction Electrique/2ième Semestre/Systèmes Multivariables