MATLAB中LMI程序运行报错:Error using lmiterm (line 271)lhs of LMI #4, block (1,1): terms in diagonal blocks must be square;
程序如下:
clc
clear
A=[0.0000000e+00 3.6301310e-21 -9.7026387e+00 -4.9849839e-05 0.0000000e+00 4.9698601e-07 0 0 0 0 0 0 0;
7.9257028e-24 0.0000000e+00 7.8831201e+03 0.0000000e+00 0.0000000e+00 0 0 0 0 0 0 0 0;
3.1226519e-07 1.9087724e-10 0.0000000e+00 1.3008627e-08 0.0000000e+00 1.5307304e-11 0.0000000e+00 0 0 0 0 0 0;
-3.1226519e-07 -1.9087724e-10 0.0000000e+00 -1.3008627e-08 1.0000000e+00 -1.5307304e-11 0 0 0 0 0 0 0;
-3.1895452e-23 5.2382432e-23 0.0000000e+00 -5.0419522e-07 -4.5526839e-08 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 1 0 0 0 0 0 0;
0 0 0 0 0 -0.49 -28 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 0 0;
0 0 0 0 0 0 0 0 0 0 0 1 0;
0 0 0 0 0 0 0 0 0 0 0 0 1;
0 0 0 0 0 0 0 1 0 -1 0 -0.16 0;
0 0 0 0 0 0 0 0 1 0 -1 0 -0.16];
B=[0 0;
0 0;
0 0;
0 0;
0 1.5905035e-06;
0 0;
0.49 0;
0 0;
0 0;
0 0;
0 0;
0 0];
G=[1 0 0 0 0;
0 1 0 0 0;
0 0 1 0 0;
0 0 0 1 0;
0 0 0 0 1;
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;
0 0 0 0 0;
0 0 0 0 0];
F=[1 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 1 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 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
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 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0];
E1=[1 0 0 0 0 0 1 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 1 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 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
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 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0];
E2=[0 1;
0 0;
0 0;
0 0;
0 0;
0 0;
0 0;
0 0;
0 0;
0 0;
0 0;
0 0;
0 0];
C=[0 0 1 0 0 0 -1 0 0 0 0 0 0;
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;
0 0 0 0 0 0 0 0 0 0 0 0 0 ];
D=[0 0;
0 0;
1 0;
0 1];
setlmis([])
Q=lmivar(1,[13 1]);
Y=lmivar(2,[2 13]);
r=lmivar(1,[1 1]);%
r1=lmivar(1,[1 1]);%
r2=lmivar(1,[1 1]);%
%strictly proper
lmiterm([-1 1 1 Q],1,1);
lmiterm([-2 1 1 r],1,1);
lmiterm([-3 1 1 r2],1,1);
lmiterm([4 1 1 Q],A,1,'s');
lmiterm([4 1 1 Y],B,1,'s');
lmiterm([4 1 1 r],1,F*F');
lmiterm([4 2 1 Q],E1,1);
lmiterm([4 2 1 Y],E2,1);
lmiterm([4 3 1 Q],C,1);
lmiterm([4 3 1 Y],D,1);
lmiterm([4 4 1 0],G');
lmiterm([4 2 2 r],-1,1);
lmiterm([4 3 3 0],-1);
lmiterm([4 4 4 r2],-1,1);
lmisys=getlmis;
[ropt xopt]=feasp(lmisys);%
r=dec2mat(lmisys,xopt,r);
r2=dec2mat(lmisys,xopt,r2);
Q=dec2mat(lmisys,xopt,Q);
Y=dec2mat(lmisys,xopt,Y);
K=Y*inv(Q);
运行时报错,但是矩阵维数应该是没有问题,求大神帮助,LMI不等式如下
%@Y4C)Q1IUU4{KC@901WF(R.png