How can I translate the YALMIP expression to LMILAB expression?
    9 ビュー (過去 30 日間)
  
       古いコメントを表示
    
I have the following optimization problem implemented by the use of the YALMIP library:
    R11 = sdpvar(n_p, n_p);
    S11 = sdpvar(n_cl/2, n_cl/2);
    S12 = sdpvar(n_cl/2, n_cl/2);
    S22 = sdpvar(n_cl/2, n_cl/2);
    S = [S11 S12; S12' S22];
    gamma=sdpvar(1);
    % Positovity
    constr = [R11 > 0, S > 0, R11 - S11 > 0];
    % Open loop condition
    M = [R11*Ap'+Ap*R11         Bpw                             R11*Cpz';
        Bpw'             -gamma*eye(size(Bpw))                  Dpzw';
        Cpz*R11                 Dpzw                    -gamma*eye(size(Dpzw))]
    constr = [constr, M < 0];
    % Closed loop condition
    M = [S*Acl'+Acl*S         Bclw                             S*Cclz';
        Bclw'             -gamma*eye(size(Bclw',1))                  Dclzw';
        Cclz*S                 Dclzw                    -gamma*eye(size(Dclzw'))]
I would like to compare the solution by using the tools provided MATLAB (LMILAB), however I am stucked with the first step:
What is the equivalent expression for this:
    S = [S11 S12; S12' S22];
    gamma=sdpvar(1);
    % Positovity
    constr = [R11 > 0, S > 0, R11 - S11 > 0];
Should `S` be declared as a new lmi variable?
So far I started with this
setlmis([]);
R11=lmivar(1,[n_p, 1]);
S11=lmivar(1,[n_cl/2, 1]);
S12=lmivar(1,[n_cl/2, 1]);
S22=lmivar(1,[n_cl/2, 1]);
S=lmivar(1,[n_cl, 1]);
gamma=lmivar(1,[1, 0]);
lmiterm([-1 1 1 R11],1,1);                    
lmiterm([-2 1 1 S],1,1);                      
lmiterm([-3 1 1 R11],1,1);                      
lmiterm([-3 1 1 S11],1,-1);
Thank for your help.
0 件のコメント
回答 (0 件)
参考
カテゴリ
				Help Center および File Exchange で Linear Matrix Inequalities についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
