Trying to formulate and solve a LMI
Show older comments
I am very new to LMI and trying to solve the following LMI
((I + UC)A)'P + P(I + UC)A
+ (VCA)'Y' + Y(VCA)
-C'K' -KC< 0
and P>0
I have formulated the code below following https://www.mathworks.com/help/robust/ref/lmiterm.html
Am I doing it correct? geting a warning Warning: In (1,1) block of LMI #1, non-symmetric term AXB was replaced by (AXB+B'XA')/2. For safety, set FLAG='s' to specify AXB+B'XA' in one shot.
and following message
These LMI constraints were found infeasible
Thank you in advance
CD_Plus = inv((C*D)'*(C*D))*(C*D)';
U = -D*CD_Plus;
V1 = (C*D)*CD_Plus;
V = eye(length(V1))-((C*D)*CD_Plus);
%% LMI
Q = (eye(size(U*C,1))+U*C)*A;
M = V*C*A;
C1(1,:) =C;
setlmis([]);
P = lmivar(1,[size(Q,1) 1]);
K1 = lmivar(1,[size(C1,1) 1]);
Y1 = lmivar(1,[size(M,2) 1]);
lmiterm([-1 1 1 P],1,1); % P>0
lmiterm([1 1 1 P],1,(eye(size(U*C,1))+U*C)*A,'s'); % ((I+UC)*A)'*P+P*(I+UC)*A
lmiterm([1 1 2 Y1],1,V*C*A); % Y*(V*C*A)
lmiterm([1 1 2 -Y1],(V*C*A)',1); % (V*C*A)'Y'
lmiterm([1 2 1 0],-1);
lmiterm([1 2 2 0],1);
lmiterm([-1 1 1 K1],1,C1); % K*C
lmiterm([-1 1 1 -K1],C1',1); % C'*K'
LMISYS = getlmis;
[tmin,XFEAS]=feasp(LMISYS);
P=dec2mat(LMISYS,XFEAS,P);
K1=dec2mat(LMISYS,XFEAS,K1);
8 Comments
Walter Roberson
on 21 Dec 2021
We need values of the inputs to test with. A, C, D,
Ashik Rahman
on 21 Dec 2021
Edited: Ashik Rahman
on 21 Dec 2021
Walter Roberson
on 21 Dec 2021
Sorry, I do not know.
lmivar() type 1 requires symmetric arrays, but MATLAB thinks you are supplying non-symmetric arrays.
Ashik Rahman
on 21 Dec 2021
Walter Roberson
on 21 Dec 2021
Sorry, I have not used lmi, so I do not know how to read those lines.
Ashik Rahman
on 21 Dec 2021
Walter Roberson
on 21 Dec 2021
Sorry, not a topic I have had reason to look at before.
Ashik Rahman
on 21 Dec 2021
Answers (0)
Categories
Find more on Linear Matrix Inequalities in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!