声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4800|回复: 4

[编程技巧] 关于线性矩阵不等式的出错问题

[复制链接]
发表于 2007-9-2 11:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
哪位高手能帮我看看这个问题!
clear
close
clc
A=[-2.73 4.26;2.08 -3.12];
B=[1.27 0.72;0.45 1.18];
C=[1.20 2.50;0.80 1.80];
G=[1 2;0 5];
E1=[0.16 0 0.1 0 0 0;0 0.16 0 0.1 0 0];
E2=[0 0 0 0 0.12 0;0 0 0 0 0 0.15];
F1=[1 0;0 1;0 0;0 0;1 0;0 1];
F2=[0 0;0 0;1 0;0 1;0 0;0 0];
L=[0 0;0 1];
I=[1 0;0 1];
I1=[1 0 0 0 0 0;
    0 1 0 0 0 0;
    0 0 1 0 0 0;
    0 0 0 1 0 0;
    0 0 0 0 1 0;
    0 0 0 0 0 1];

setlmis([])
X=lmivar(1,[2 1]);
Q=lmivar(1,[2 1]);
r=lmivar(1,[1 0]);
e1=lmivar(1,[1 0]);
e2=lmivar(1,[1 0]);

lmiterm([1 1 1 X],1,A','s');
lmiterm([1 1 1 Q],B*L,1,'s');
lmiterm([1 1 1 e1],1,E1*E1');
lmiterm([1 1 2 0],G);
lmiterm([1 2 2 r],-1,I);
lmiterm([1 3 1 X],C,1);
lmiterm([1 3 2 0],0);
lmiterm([1 3 3 r],-1,I);
lmiterm([1 3 3 e2],1,E2*E2');
lmiterm([1 4 1 X],F1,1);
lmiterm([1 4 1 Q],F2*L,1);
lmiterm([1 4 2 0],0);
lmiterm([1 4 3 0],0);
lmiterm([1 4 4 e2],-1,I1);
lmiterm([1 5 1 X],F1,1);
lmiterm([1 5 1 Q],F2*L,1);
lmiterm([1 5 2 0],0);
lmiterm([1 5 3 0],0);
lmiterm([1 5 4 0],0);
lmiterm([1 5 5 e1],-1,I1);

Xpos=newlmi;
lmiterm([-Xpos 1 1 X],1,1);
rpos=newlmi;
lmiterm([-rpos 1 1 r],1,1);
e1pos=newlmi;
lmiterm([-rpos 1 1 e1],1,1);
e2pos=newlmi;
lmiterm([-rpos 1 1 e2],1,1);
uncertainHinf2=getlmis;

c=mat2dec(uncertainHinf2,eye(2),eye(2),1,1,1);
options=[1e-5,0,0,0,0];
[copt,xopt]=mincx(uncertainHinf2,c,options);
X=dec2mat(uncertainHinf2,xopt,X)
Q=dec2mat(uncertainHinf2,xopt,Q)
r=dec2mat(uncertainHinf2,xopt,r)
e1=dec2mat(uncertainHinf2,xopt,e1)
e2=dec2mat(uncertainHinf2,xopt,e2)

K=Q*inv(X)
最后就是显示不了结果!显示
Result:  could not establish feasibility nor infeasibility

The LMI constraints were found INFEASIBLE

??? Error using ==> dec2mat
DECVARS must be a vector of length 9

Error in ==> D:\Matlab\work\uncertainHinf2.m
On line 94  ==> X=dec2mat(uncertainHinf2,xopt,X)
不知道什么原因,用feasp的时候就好用为什么换成mincx的时候就出现错误!请高手指点指点,多谢

[ 本帖最后由 eight 于 2007-9-2 21:14 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-9-2 21:13 | 显示全部楼层
原帖由 fang_317 于 2007-9-2 11:02 发表
哪位高手能帮我看看这个问题!
clear
close
clc
A=[-2.73 4.26;2.08 -3.12];
B=[1.27 0.72;0.45 1.18];
C=[1.20 2.50;0.80 1.80];
G=[1 2;0 5];
E1=[0.16 0 0.1 0 0 0;0 0.16 0 0.1 0 0];
E2=[0 0 0  ...


根据出错地方自己调试,详细描述请看看置顶帖:聚宝盆
发表于 2007-9-19 15:58 | 显示全部楼层
我也遇到同样的问题
不知道你解决了没有.
请与我联系
QQ:15709027
发表于 2012-11-9 10:42 | 显示全部楼层
楼上你好 我也遇到了相同的问题 请问怎么解决的? 特别着急  加我qq好吗?649013663
发表于 2012-11-30 09:23 | 显示全部楼层
矩阵不等式没有可行解

相关可能原因及解决办法如下:
1)、先检查以下LMI有没有问题,比如推导过程、输入到MATLAB,也许是打字打错了。如果还不行,可能是理论有问题。不是所有正确的推导都有解出现;
2)、程序可以运行,说明语法没有问题。有可能需要检查一下LMI,检查矩阵的主对角线元素,若对角线元素有严格大于0存在,肯定是无可行解的;
3)、一般可行性问题的程序都有多个LMI,可逐个检查,一个LMI一个的检查是否可行,找到到底是哪个LMI不可行,再想办法解决。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-19 01:09 , Processed in 0.061475 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表