求解lmi的matlab程序,MATLAB中LMI程序求解H无穷可行解问题

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不等式如下

t-9746760-1-authorid-2693454

%@Y4C)Q1IUU4{KC@901WF(R.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值