How can I translate the YALMIP expression to LMILAB expression?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponses (0)
Voir également
Catégories
En savoir plus sur Linear Matrix Inequalities dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!