1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
A=[-0.3 -3 -0.5 0.1 ;-0.7 -5 2 4;2 -0.5 -5 -0.9 ;-0.7 -2 1 -0.9];
B=[1 2;5 1;4 -3; 1 2];
C=[1 0 0 0;0 1 0 0; 0 0 0 1];
D=[.5 .5;.2 .2;0 .1];
E=B;
temps=0:0.01:9.99;
P=sdpvar(6,6,'symmetric');
K=sdpvar(4,3);
L=sdpvar(2,3);
z=sdpvar(10,10,'symmetric');
G=sdpvar(6,3);
Qfi=sdpvar(6,6);
Qep=sdpvar(4,4);
alfa=sdpvar(1,1);
%% Changement de variables
Atild=[A E; zeros(2,6)];
Ktild=[K;L];
Itild=[zeros(4,4); zeros(2,2) eye(2,2)];
Ctild=[C zeros(3,2)];
Dtild=[D zeros(3,2)];
omega=[P*Atild+Atild'*P-G*Ctild-Ctild'*G'+Qfi P*Itild-G*Dtild ; Itild'*P-Dtild'*G' -alfa*Qep];
F=set(P>zeros(6,6))+...
set(z>0.01*ones(10,10))+...
set(alfa>0)+...
set(Qfi>zeros(6,6))+...
set(Qep>zeros(4,4))+...
set(omega<zeros(10,10));
solution=solvesdp(F)
yalmiperror(solution.problem) |
Partager