登录论坛

查看完整版本 : 求助:算法实现


luolijia
2008-12-19, 10:22
如下线性矩阵不等式:
setlmis([]);
%define Variables
%P,Q,Z are symmetric matrix,has a block size of 2 and this block is
%symmetric
P=lmivar(1,[2 1]);
R=lmivar(1,[2 1]);
Q1=lmivar(1,[2 1]);
Q2=lmivar(1,[2 1]);
Z1=lmivar(1,[2 1]);
Z2=lmivar(1,[2 1]);
Z3=lmivar(1,[2 1]);
S=lmivar(2,[2 2]);
V=lmivar(2,[1 2]);
g1=lmivar(1,[1 0]);
g2=lmivar(1,[1 0]);
%%LMI description
lmiterm([1 1 1 Q1],1,1);
lmiterm([1 1 1 Q2],1,1);
lmiterm([1 1 1 Z1],-1,1);
lmiterm([1 1 1 Z2],-1,1);
lmiterm([1 1 1 g1],D,D');
lmiterm([1 1 1 S],-A',t4,'s');

lmiterm([1 1 2 Z1],1,1);
lmiterm([1 1 2 -N4],-1,B);

lmiterm([1 1 3 Z2],1,1);
lmiterm([1 1 3 S],A,-t3)
lmiterm([1 1 3 V],B,-t3)
lmiterm([1 1 4 S],A,-t1)
lmiterm([1 1 4 -N4],-1,C);
lmiterm([1 1 4 V],B,-t1)
lmiterm([1 1 4 P],1,-C')
lmiterm([1 1 5 S],A,-t2)
lmiterm([1 1 5 V],B,-t2)
lmiterm([1 1 5 P],1,1)


lmiterm([1 2 2 Z1],-1,1);
lmiterm([1 2 2 Z3],-1,1);
lmiterm([1 2 2 Q1],-1,1);
lmiterm([1 2 2 g2],D,D');

lmiterm([1 2 3 Z3],1,1);
lmiterm([1 2 3 S],A1,-t3)

lmiterm([1 2 4 S],A1,-t1)

lmiterm([1 2 5 S],A1,-t2)


lmiterm([1 3 3 Q2],-1,1);
lmiterm([1 3 3 Z3],-1,1);
lmiterm([1 3 3 Z2],-1,1);

lmiterm([1 3 4 -S],-t3,C');
lmiterm([1 3 4 P],C,C')

lmiterm([1 3 5 -S],t3,1)
lmiterm([1 3 5 P],C',-1)

lmiterm([1 3 6 -S],t3,Ea);
lmiterm([1 3 7 -S],t3,Eb);

lmiterm([1 4 4 R],-1,1);
lmiterm([1 4 4 S],C,-1,'s');

lmiterm([1 4 5 -S],t1,1);
lmiterm([1 4 5 S],-C,t2);
lmiterm([1 4 6 -S],t1,Ea);
lmiterm([1 4 7 -S],t1,Eb);

lmiterm([1 5 5 R],1,1);
lmiterm([1 5 5 S],t2,1,'s');
lmiterm([1 5 5 Z1],h1,h1);
lmiterm([1 5 5 Z2],h2,h2);
lmiterm([1 5 5 Z3],h12,h12);

lmiterm([1 5 6 -S],t2,Ea);
lmiterm([1 5 7 -S],t2,Eb);

lmiterm([1 6 6 g1],-1,1);
lmiterm([1 7 7 g2],-1,1);

%%the otjers inenqualities
lmiterm([-2 1 1 P],1,1);
lmiterm([-3 1 1 Q1],1,1);
lmiterm([-4 1 1 Q2],1,1);
lmiterm([-5 1 1 Z1],1,1);
lmiterm([-6 1 1 Z2],1,1);
lmiterm([-7 1 1 Z3],1,1);
lmiterm([-8 1 1 R],1,1);
lmiterm([-9 1 1 g1],1,1);
lmiterm([-10 1 1 g2],1,1);
其中A,B,C,Ea,Eb,h2,h12已知,h1,,t1,t2,t3,t4未知
请问,如何确定最优的t1,t2,t3,,t4从而获得满足以上LMI的最大的h1值。
有的书上说是定义f(z),z=[t1 t2 t3 t4] 让以上的LMI<f(z)I ,通过MATLAB的优化工具箱的优化算法
如:fmincon,求的一组局部收敛解z, 如果f(z)小于0则找到了最优的t1,t2,t3,,t4。请问f(z)该如何定义呢?