[求助]请问LIM(线性矩阵不等式)的一个程序问题
各位高人,看到篇关于LMI的论文,想仿真结果,发现和论文的结果相差很多,请教高人我的程序中是否出现什么问题,多谢!
已知:q=[ p*k1+a -0.5*(p*a-a+c+Mz) -0.5My
-0.5*(p*a-a+c+Mz) k2-c 0
-0.5My 0 k3+b ] >0
其中 a=35b=3,c=28,Mz=53,My=32, p=My^2/(a*b), 求解k1,k2,k3
程序如下:
clear,clc
a=35;
b=3;
c=28;
mcy=32;
mcz=53;
p=mcy^2/(a*b);
setlmis([])
K1=lmivar(1,);
K2=lmivar(1,);
K3=lmivar(1,);
lmiterm([-1 1 1 K1],p,1);
lmiterm([-1 1 1 0],p*a);
lmiterm([-1 1 2 0],-1/2*(p*a-a+c+mcz));
lmiterm([-1 1 3 0],-1/2*mcy);
lmiterm([-1 2 2 K2],1,1);
lmiterm([-1 2 2 0],-c);
lmiterm([-1 3 3 K3],1,1);
lmiterm([-1 3 3 0],b);
lmisys=getlmis;
=feasp(lmisys);
KK1=dec2mat(lmisys,xfeas,K1)
KK2=dec2mat(lmisys,xfeas,K2)
KK3=dec2mat(lmisys,xfeas,K3)
程序运行的结果和原论文有很多的差别,竟然相差10^3左右,望高人指导!!!
多谢多谢!!
[ 本帖最后由 xmwhit 于 2007-9-28 08:42 编辑 ] 晕,是LMI,竟然打成LIM,抱歉抱歉 第二个lmiterm项怎么是lmiterm([-1 1 1 0],p*a),而不是lmiterm([-1 1 1 0],a) 不好意思啊,原矩阵应该是
q=[ p*(k1+a) -0.5*(p*a-a+c+Mz) -0.5My
-0.5*(p*a-a+c+Mz) k2-c 0
-0.5My 0 k3+b ] >0
麻烦你们看看那里出了问题,怎么结果相差很大啊。
多谢多谢!! ,结果是
KK1 =
5.2473e+007
KK2 =
5.1174e+008
KK3 =
5.1174e+008
不对吗?:@)
页:
[1]