Professional Documents
Culture Documents
clc
A=[2 1 0;0 2 0;0 1 3];
B=[0 1;1 0;0 1];
n=size(A,1);
m=size(B,2);
setlmis([])
X=lmivar(1,[n,1]);
Q=lmivar(2,[m n]);
lmiterm([1 1 1 X],1,A');
lmiterm([1 1 1 X],A,1);
lmiterm([1 1 1 Q],B,1,'S');
lmiterm([1 1 1 X],-4,1);
lmiterm([1 1 1 X],-1,A');
lmiterm([1 1 1 X],-A,1);
lmiterm([1 1 1 Q],-B,1,'S');
lmiterm([1 1 1 X],8,1);
lmiterm([2 1 1 X],-1,1);
Lmis=getlmis;
[t,sol]=feasp(Lmis);
X=dec2mat(Lmis,sol,X)
Q=dec2mat(Lmis,sol,Q)
K=Q*(inv(X))
Y=A+B*K
eig(Y)
Warning: In (1,1) block of LMI #1, non-symmetric term AXB was replaced by
(AXB+B'XA')/2. For safety, set FLAG='s' to specify AXB+B'XA' in one shot.
Warning: In (1,1) block of LMI #1, non-symmetric term AXB was replaced by
(AXB+B'XA')/2. For safety, set FLAG='s' to specify AXB+B'XA' in one shot.
Warning: In (1,1) block of LMI #1, non-symmetric term AXB was replaced by
(AXB+B'XA')/2. For safety, set FLAG='s' to specify AXB+B'XA' in one shot.
Warning: In (1,1) block of LMI #1, non-symmetric term AXB was replaced by
(AXB+B'XA')/2. For safety, set FLAG='s' to specify AXB+B'XA' in one shot.
1 0.143304
*** new lower bound: -6.125506e-03
2 0.019732
3 7.326077e-04
*** new lower bound: -8.398631e-04
4 7.326077e-04
*** new lower bound: -5.347627e-05
5 6.096219e-04
6 2.379723e-05
*** new lower bound: -1.482431e-05
7 4.485309e-06
1
*** new lower bound: -5.169169e-06
8 4.485309e-06
*** new lower bound: -3.419245e-07
9 4.485309e-06
10 2.609975e-07
*** new lower bound: -4.046299e-08
11 3.490196e-08
*** new lower bound: -2.780516e-09
12 2.548134e-08
13 7.522019e-10
*** new lower bound: -1.014157e-09
14 7.522019e-10
*** new lower bound: -1.309775e-10
15 1.726154e-10
16 2.081898e-11
*** new lower bound: -5.507924e-11
X =
1.0e-11 *
Q =
1.0e-16 *
0.0000 0 0.0000
-0.0000 0.9901 0.0000
K =
1.0e-04 *
Y =
2
ans =
2.0000
3.0000
2.0000