24小时热门版块排行榜    

查看: 578  |  回复: 2

孙家宝贝

金虫 (小有名气)

[求助] 这段matlab程序调试不出来结果,求助。。。。

clear
setlmis([]);
E=[-1 0;0 0];
A=[-0.6 0.25;0.8 -0.1];
Ad=[-0.7 0.3;0.25 -0.1];
B=[1;2];
Bw=[-0.6 -0.2;0 -1];
D=[-1;1];
M=[0.2;0.2];
H1=[0.2 0.2];
H2=[0.2 0.2];
H3=[1 1];
C=[-1 2;0 -1];
Cd=[-2 0;8.1 -1];
Dw=[-2.5 0;0 1];

D1=[0.2 0.2];
G1=[0.2 0.2];
N1=[0 0;0 0];
N2=[0 0;0 0];
L=[0 0;0 0];
R=[0;1];
d=9.5;
d0=0;
a1=0.05;
a2=0.5;
a3=0.15;
a4=0.05;
a5=0.7;
a6=0.05;

P=lmivar(1,[2 1]);
Z=lmivar(1,[2 1]);
X=lmivar(1,[2 1]);
Q=lmivar(1,[2 1]);
S=lmivar(2,[2 1]);
Sd=lmivar(2,[2 1]);
W=lmivar(2,[1 2]);
V1=lmivar(1,[2 1]);
V2=lmivar(1,[2 1]);
V3=lmivar(2,[2 1]);
V4=lmivar(2,[2 1]);
K=lmivar(2,[1 2]);
lmiterm([1 1 3 X],1,E'*L);
lmiterm([1 1 3 V3],1,R'*Bw);
lmiterm([1 1 4 X],d,N1');
lmiterm([1 1 5 X],d,A');
lmiterm([1 1 5 -W],d,B');
lmiterm([1 1 5 X],-1,E');
lmiterm([1 1 6 X],1,A');
lmiterm([1 1 6 -W],1,B');
lmiterm([1 1 7 X],1,C');
lmiterm([1 1 7 -W],1,D');
lmiterm([1 1 8 V3],1,R'*B*D1);
lmiterm([1 1 17 X],1,E');
lmiterm([1 1 18 X],1,1);
lmiterm([1 1 19 X],1,G1');
lmiterm([1 1 20 V3],1,R'*M);
lmiterm([1 1 24 X],1,E');
lmiterm([1 1 25 X],1,N1');
lmiterm([1 1 26 -W],1,B');
lmiterm([1 1 26 X],1,A');
lmiterm([1 1 27 V3],1,R');

lmiterm([1 2 3 X],-1,E'*L);
lmiterm([1 2 3 V4],1,R'*Bw);
lmiterm([1 2 3 X],1,a6*(H2')*H3);
lmiterm([1 2 4 X],1,d*N2');
lmiterm([1 2 5 X],1,d*Ad');
lmiterm([1 2 6 X],1,Ad');
lmiterm([1 2 7 X],1,Cd');

lmiterm([1 2 8 V4],1,R'*B*D1);
lmiterm([1 2 9 X],1,H2');
lmiterm([1 2 11 V4],1,R'*M);
lmiterm([1 2 21 X],1,1);
lmiterm([1 2 22 X],1,H2');
lmiterm([1 2 23 V4],1,R'*M);
lmiterm([1 2 24 X],-1,E');
lmiterm([1 2 25 X],1,N2');
lmiterm([1 2 26 X],1,Ad');
lmiterm([1 2 27 V4],1,R');
lmiterm([1 3 3 0],-a5^(2));
lmiterm([1 3 3 0],a6*(H3')*H3);
lmiterm([1 3 4 0],d*L');
lmiterm([1 3 5 0],d*Bw');
lmiterm([1 3 6 0],Bw');
lmiterm([1 3 7 0],Dw');
lmiterm([1 3 9 0],H3');
lmiterm([1 3 13 0],H3')
lmiterm([1 4 4 Z],d,1);
lmiterm([1 5 5 V2],-d,1);
lmiterm([1 5 10 0],B*D1);
lmiterm([1 5 11 0],d*M);
lmiterm([1 5 16 0],d*M);
lmiterm([1 6 6 X],1,1);
lmiterm([1 6 8 0],B*D1);
lmiterm([1 6 11 0],M);
lmiterm([1 6 16 0],M);
lmiterm([1 7 7 0],-1);
lmiterm([1 8 8 0],-a3);
lmiterm([1 9 9 0],-a3);
lmiterm([1 10 10 0],-a3);
lmiterm([1 11 11 0],-a4);
lmiterm([1 12 12 0],-a4);
lmiterm([1 13 13 0],-a4);
lmiterm([1 14 14 0],-a6);
lmiterm([1 15 15 0],-a6);
lmiterm([1 16 16 0],-a6);
lmiterm([1 17 17 X],1,1);
lmiterm([1 18 18 V1],-1,(d-d0+1)^(-1));
lmiterm([1 19 19 0],(a3*(1+d*d))^(-1));
lmiterm([1 20 20 0],-1);
lmiterm([1 21 21 V1],1,1);
lmiterm([1 22 22 0],-a4^(-1));
lmiterm([1 23 23 0],-a4^(-1));
lmiterm([1 24 24 0],-a1^(-1));
lmiterm([1 25 25 0],-a1);
lmiterm([1 26 26 0],-a2^(-1));
lmiterm([1 27 27 0],-a2);



lmiterm([-2 1 1 P],1,1)
lmiterm([2 1 1 0],0)
lmiterm([-3 1 1 Z],1,1)
lmiterm([3 1 1 0],0)
lmiterm([-4 1 1 X],1,1)
lmiterm([4 1 1 0],0)
lmiterm([-5 1 1 Q],1,1)
lmiterm([5 1 1 0],0)

lmis=getlmis
[tmin xfeas]=feasp(lmis)
%P=dec2mat(lmis,xfeas,P)
%Q=dec2mat(lmis,xfeas,Q)
%Z=dec2mat(lmis,xfeas,Z)
X=dec2mat(lmis,xfeas,X)
%Sd=dec2mat(lmis,xfeas,Sd)
%S=dec2mat(lmis,xfeas,S)
W=dec2mat(lmis,xfeas,W)
V1=dec2mat(lmis,xfeas,V1)
V2=dec2mat(lmis,xfeas,V2)
V3=dec2mat(lmis,xfeas,V3)
V4=dec2mat(lmis,xfeas,V4)
%X=inv(P);
%V1=inv(Q);
%V2=inv(Z);
%V3=X*S;
%V4=X*Sd;
%W=K*inv(P);


K=W*inv(X)
问题:运行后,无论如何调节已知参数,tmin都不能变成负数。也就是说,这个线性矩阵不等式没有可行解。这是为什么?求指导。。。。。。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

相信自己就能成功
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

孙家宝贝

金虫 (小有名气)

clear
setlmis([]);
E=[-1 0;0 0];
A=[-0.6 0.25;0.8 -0.1];
Ad=[-0.7 0.3;0.25 -0.1];
B=[1;2];
Bw=[-0.6 -0.2;0 -1];
D=[-1;1];
M=[0.2;0.2];
H1=[0.2 0.2];
H2=[0.2 0.2];
H3=[1 1];
C=[-1 2;0 -1];
Cd=[-2 0;8.1 -1];
Dw=[-2.5 0;0 1];

D1=[0.2 0.2];
G1=[0.2 0.2];
N1=[0 0;0 0];
N2=[0 0;0 0];
L=[0 0;0 0];
R=[0;1];
d=9.5;
d0=0;
a1=0.05;
a2=0.5;
a3=0.15;
a4=0.05;
a5=0.7;
a6=0.05;

P=lmivar(1,[2 1]);
Z=lmivar(1,[2 1]);
X=lmivar(1,[2 1]);
Q=lmivar(1,[2 1]);
S=lmivar(2,[2 1]);
Sd=lmivar(2,[2 1]);
W=lmivar(2,[1 2]);
V1=lmivar(1,[2 1]);
V2=lmivar(1,[2 1]);
V3=lmivar(2,[2 1]);
V4=lmivar(2,[2 1]);
K=lmivar(2,[1 2]);
lmiterm([1 1 3 X],1,E'*L);
lmiterm([1 1 3 V3],1,R'*Bw);
lmiterm([1 1 4 X],d,N1');
lmiterm([1 1 5 X],d,A');
lmiterm([1 1 5 -W],d,B');
lmiterm([1 1 5 X],-1,E');
lmiterm([1 1 6 X],1,A');
lmiterm([1 1 6 -W],1,B');
lmiterm([1 1 7 X],1,C');
lmiterm([1 1 7 -W],1,D');
lmiterm([1 1 8 V3],1,R'*B*D1);
lmiterm([1 1 17 X],1,E');
lmiterm([1 1 18 X],1,1);
lmiterm([1 1 19 X],1,G1');
lmiterm([1 1 20 V3],1,R'*M);
lmiterm([1 1 24 X],1,E');
lmiterm([1 1 25 X],1,N1');
lmiterm([1 1 26 -W],1,B');
lmiterm([1 1 26 X],1,A');
lmiterm([1 1 27 V3],1,R');

lmiterm([1 2 3 X],-1,E'*L);
lmiterm([1 2 3 V4],1,R'*Bw);
lmiterm([1 2 3 X],1,a6*(H2')*H3);
lmiterm([1 2 4 X],1,d*N2');
lmiterm([1 2 5 X],1,d*Ad');
lmiterm([1 2 6 X],1,Ad');
lmiterm([1 2 7 X],1,Cd');

lmiterm([1 2 8 V4],1,R'*B*D1);
lmiterm([1 2 9 X],1,H2');
lmiterm([1 2 11 V4],1,R'*M);
lmiterm([1 2 21 X],1,1);
lmiterm([1 2 22 X],1,H2');
lmiterm([1 2 23 V4],1,R'*M);
lmiterm([1 2 24 X],-1,E');
lmiterm([1 2 25 X],1,N2');
lmiterm([1 2 26 X],1,Ad');
lmiterm([1 2 27 V4],1,R');
lmiterm([1 3 3 0],-a5^(2));
lmiterm([1 3 3 0],a6*(H3')*H3);
lmiterm([1 3 4 0],d*L');
lmiterm([1 3 5 0],d*Bw');
lmiterm([1 3 6 0],Bw');
lmiterm([1 3 7 0],Dw');
lmiterm([1 3 9 0],H3');
lmiterm([1 3 13 0],H3')
lmiterm([1 4 4 Z],d,1);
lmiterm([1 5 5 V2],-d,1);
lmiterm([1 5 10 0],B*D1);
lmiterm([1 5 11 0],d*M);
lmiterm([1 5 16 0],d*M);
lmiterm([1 6 6 X],1,1);
lmiterm([1 6 8 0],B*D1);
lmiterm([1 6 11 0],M);
lmiterm([1 6 16 0],M);
lmiterm([1 7 7 0],-1);
lmiterm([1 8 8 0],-a3);
lmiterm([1 9 9 0],-a3);
lmiterm([1 10 10 0],-a3);
lmiterm([1 11 11 0],-a4);
lmiterm([1 12 12 0],-a4);
lmiterm([1 13 13 0],-a4);
lmiterm([1 14 14 0],-a6);
lmiterm([1 15 15 0],-a6);
lmiterm([1 16 16 0],-a6);
lmiterm([1 17 17 X],1,1);
lmiterm([1 18 18 V1],-1,(d-d0+1)^(-1));
lmiterm([1 19 19 0],(a3*(1+d*d))^(-1));
lmiterm([1 20 20 0],-1);
lmiterm([1 21 21 V1],1,1);
lmiterm([1 22 22 0],-a4^(-1));
lmiterm([1 23 23 0],-a4^(-1));
lmiterm([1 24 24 0],-a1^(-1));
lmiterm([1 25 25 0],-a1);
lmiterm([1 26 26 0],-a2^(-1));
lmiterm([1 27 27 0],-a2);



lmiterm([-2 1 1 X],1,1)
lmiterm([2 1 1 0],0)
lmiterm([-3 1 1 V2],1,1)
lmiterm([3 1 1 0],0)
lmiterm([-4 1 1 V1],1,1)
lmiterm([4 1 1 0],0)
%lmiterm([-5 1 1 Q],1,1)
%lmiterm([5 1 1 0],0)

lmis=getlmis
[tmin xfeas]=feasp(lmis)
%P=dec2mat(lmis,xfeas,P)
%Q=dec2mat(lmis,xfeas,Q)
%Z=dec2mat(lmis,xfeas,Z)
X=dec2mat(lmis,xfeas,X)
%Sd=dec2mat(lmis,xfeas,Sd)
%S=dec2mat(lmis,xfeas,S)
W=dec2mat(lmis,xfeas,W)
V1=dec2mat(lmis,xfeas,V1)
V2=dec2mat(lmis,xfeas,V2)
V3=dec2mat(lmis,xfeas,V3)
V4=dec2mat(lmis,xfeas,V4)
%X=inv(P);
%V1=inv(Q);
%V2=inv(Z);
%V3=X*S;
%V4=X*Sd;
%W=K*inv(P);


K=W*inv(X)
应该是这个程序,上面的弄错了
相信自己就能成功
2楼2012-12-19 12:37:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jaywu003

新虫 (初入文坛)

【答案】应助回帖


csgt0: 金币+1, 欢迎交流 2013-01-08 17:00:50
不等式有问题!第一个LMI 不会是负定的!
做一只快乐的小虫!
3楼2013-01-08 14:30:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 孙家宝贝 的主题更新
信息提示
请填处理意见