程序出现 RT的错误
程序:
clear all
clc
A=[ -0.0153 0.0481 -5.9420 0.0021 0 0;
-0.0910 -0.9569 138.3608 0.0163 0 0;
0.0002 0.0046 -1.022 -0.0005 0 -0.0029;
0 0 0 -0.2804 6.2667 -151.1435;
0 0 0.0003 -0.1821 -3.4192 0.6401;
0 0 0.0025 0.0454 -0.0304 -0.4535];
B=[ 0.0239 0.0239 0.0250 0.0250 0;
-0.1722 -0.1722 -0.1799 -0.1799 0;
-0.0873 -0.0873 -0.0076 -0.0076 0;
-0.3149 0.3149 0.0233 -0.0233 0.1205;
-0.1892 0.1892 -0.3464 0.3464 0.1237;
-0.1678 0.1678 -0.0147 0.0147 -0.0587];
C=[ 0 0 57.2958 0 0 0;
0 0 0 0 57.2468 2.3696;
0 0 0 0 -2.3696 57.2468;
-0.0155 0.3756 0 0 0 0;
0 0 0 0.3760 0 0];
S=[ 0 1 0 0 0;
0 0 0 1 0;
0 0 0 0 1];
SC=[ 0 0 0 0 -57.2468 -2.3696;
0.0155 -0.3756 0 0 0 0;
0 0 0 -0.3760 0 0]; %-SC
Q1=[ 0.09 0 0;
0 1 0;
0 0 0.36];
Q2=[ 0.01 0 0 0 0;
0 0.2 0 0 0;
0 0 0.01 0 0;
0 0 0 0 0;
0 0 0 0 0];
Q=[ 0.09 0 0 0 0 0 0 0 0;
0 1 0 0 0 0 0 0 0;
0 0 0.36 0 0 0 0 0 0;
0 0 0 0.01 0 0 0 0 0;
0 0 0 0 0.2 0 0 0 0;
0 0 0 0 0 0.01 0 0 0;
0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0];
R=[ 0.49 0 0 0 0;
0 0.49 0 0 0;
0 0 0.04 0 0;
0 0 0 0.04 0;
0 0 0 0 0.04];
AA=[ 0 0 0 0 0 0 0 -57.2468 -2.3696;
0 0 0 0.0155 -0.3756 0 0 0 0;
0 0 0 0 0 0 -0.3760 0 0;
0 0 0 -0.0153 0.0481 -5.9420 0.0021 0 0;
0 0 0 -0.0910 -0.9569 138.3608 0.0163 0 0;
0 0 0 0.0002 0.0046 -1.022 -0.0005 0 -0.0029;
0 0 0 0 0 0 -0.2804 6.2667 -151.1435;
0 0 0 0 0 0.0003 -0.1821 -3.4192 0.6401;
0 0 0 0 0 0.0025 0.0454 -0.0304 -0.4535];
BB=[ 0 0 0 0 0;
0 0 0 0 0;
0 0 0 0 0;
0.0239 0.0239 0.0250 0.0250 0;
-0.1722 -0.1722 -0.1799 -0.1799 0;
-0.0873 -0.0873 -0.0076 -0.0076 0;
-0.3149 0.3149 0.0233 -0.0233 0.1205;
-0.1892 0.1892 -0.3464 0.3464 0.1237;
-0.1678 0.1678 -0.0147 0.0147 -0.0587];
GG=[ 1 0 0;
0 1 0;
0 0 1;
0 0 0;
0 0 0;
0 0 0;
0 0 0;
0 0 0;
0 0 0];
I=eye(9);
I3=eye(3);
I5=eye(5);
setlmis([]);
T=lmivar(2,[9 9]);
Z=lmivar(1,[9 0]);
W=lmivar(2,[5 9]);
gamma=lmivar(1,[1 0]);
lmiterm([1 1 1 Z],AA,1,'s');
lmiterm([1 1 1 W],BB,1,'s');
lmiterm([1 1 2 0],GG);
lmiterm([1 1 3 -W],1,R^0.5);
lmiterm([1 1 4 Z],1,Q^0.5);
lmiterm([1 2 2 gamma],-I3,1);
lmiterm([1 3 3 0],-I5);
lmiterm([1 4 4 0],-I);
lmiterm([-2 1 1 T],1,1);
lmiterm([-2 1 2 0],I);
lmiterm([-2 2 2 Z],1,1);
% lmiterm([-3 1 1 Z],1,1);
LMIs=getlmis;
n=decnbr(LMIs);
c=zeros(n,1);
for j=1:n
[Tj]=defcx(LMIs,j,T);
c(j)=trace(Tj);
end
op
tions=[1e-5,1000,100,0,0];
[copt,topt]=mincx(LMIs,c,options);
ZZ=dec2mat(LMIs,topt,Z)
W=dec2mat(LMIs,topt,W)
K=W*inv(ZZ)
gamma=dec2mat(LMIs,topt,gamma)
一周热门 更多>