24小时热门版块排行榜    

查看: 1496  |  回复: 1

huangmagudi

铁虫 (小有名气)

[求助] 高手请进————matlab中的线性矩阵不等式问题

利用matlab中Yalmip工具箱编的程序如下:


%%%%%%%%%%%%%%%%%%
d=57;

A=[0.8 0;0 0.91];
Ad=[-0.1 0;-0.1 -0.1];

n=size(A,1);


for i=1:3
    e{i}=[];
    for j=1:3
        if j==i
            e{i}=[e{i} eye(n)];
        else
            e{i}=[e{i} zeros(n)];
        end
    end
end


f1=A*e{1}+Ad*e{2};
f2=f1-e{1};
f3=[e{1};(d+1)*e{3}-e{1}];
f4=[f1;(d+1)*e{3}-e{2}];


P1=sdpvar(2*n,2*n,'symmetric');
  P2=sdpvar(n,n,'symmetric');
  P3=sdpvar(n,n,'symmetric');

% N1=sdpvar(n,3*n);
% N2=sdpvar(n,3*n);
N1=1/d*[P2 -P2 zeros(n,n)];
N2=3/(d*(d+1))*[-P2 -P2 2*P2];

Delta=f4'*P1*f4-f3'*P1*f3+f2'*P2*f2-2/d*(e{1}'-e{2}')*N1+(2*d+2)/d*(e{1}'+e{2}'-2*e{3}')*N2+e{1}'*P3*e{1}-e{2}'*P3*e{2};

FAI=[Delta N1' (d+1)/sqrt(3)*N2';N1 -P2 zeros(n,n);(d+1)/sqrt(3)*N2  zeros(n,n)  -P2];



con=[];

con1=[P1>=0];
con2=[P2>=0];
con3=[P3>=0];
con4=[FAI<=0];

con=[con,con1,con2, con3,con4];
   
  sol=solvesdp(con,[],sdpsettings('solver','lmilab'))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

此时能找到可行解,如果我把
N1=1/d*[P2 -P2 zeros(n,n)];
N2=3/(d*(d+1))*[-P2 -P2 2*P2];
这两行程序换成如下程序
N1=sdpvar(n,3*n);
N2=sdpvar(n,3*n);

则不能找到可行解了。按理说,第二种情况具有更少保守性,因为此时N1和N2都是自由变量。第一种情况是第二种的特殊情形,为啥换了两行程序,就找不到可行解了?实在没搞明白
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huangmagudi

铁虫 (小有名气)

如果用sedumi求解,即sol=solvesdp(con,[],sdpsettings('solver','sedumi')),还是会存在同样的问题!
2楼2015-12-03 15:48:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 huangmagudi 的主题更新
信息提示
请填处理意见