Lmivar的一些疑问:
X3中[1 ,0],[2,0]的0表示对角阵。[5 1]中的1表示对称阵。
可参考下面实例:
feasp和mincx函数
一个例子:
% LQR problem
clear,clc
cas=0.1; omaga=1;k=1;
%cas=1; omaga=3; k=20;
A=[-2*cas*omaga -omaga*omaga;1 0];
B=[1;0];
C=[0 k];
D=0;
setlmis([])
gama2=lmivar(1,[1,1]);
P=lmivar(1,[2,1]);
lmiterm([1,1,1,P],A',1,'s');
lmiterm([1,1,2,P],1,B);% #1 1-1
lmiterm([1,1,3,0],C');
lmiterm([1,2,2,gama2],-1,1);
lmiterm([1,2,3,0],D');
lmiterm([1,3,3,gama2],-1,1);
% 目标
%min gama2
%不等式1
%[A'P+PA PB C';
% * r2I D';
% * * r2I]<0
%不等式2
% P>0;
lmiterm([2,1,1,P],-1,1);
lmis=getlmis;
c=mat2dec(lmis,1,0);
OPTIONS=[0.000001 100 1e2 10 0];
%options是一个5维向量,它用来描述优化迭代过程中的一些控制参数
%options(1):该参数确定了最优值copt所要求的精度(默认值是10^-2)
%options(2):该参数设定优化迭代过程中允许的最大迭代次数(默认值是100)
%options(3):该参数设定了可行域的半径。
% 例如 options(3)取值为S(S>0)表示把决策变量x的值限制为变量x的欧氏范数不超过S。
[copt,xopt]=mincx(lmis,c,OPTIONS);% LMI约束下最小化线性目标mincx
%options(4):该参数用于加快迭代过程的结束。默认是5
%options(5):options(5)=l表示不显示迭代过程中的数据,options(5)=0(默认值)则相反。
%[copt,xopt]=feasp(lmis,c,OPTIONS);
%LMI系统由lmisys描述。 向量c的长度必须与x相同。
gama2=dec2mat(lmis,xopt,1)
P=dec2mat(lmis,xopt,2)
%eig(A'*Y+Y*A+C'*C)
%gama2-trace(B'*Y*B)