How can I translate the YALMIP expression to LMILAB expression?

조회 수: 2 (최근 30일)
Robert Ungi
Robert Ungi 2015년 8월 20일
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개)

카테고리

Help CenterFile Exchange에서 Linear Matrix Inequalities에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by