Trying to formulate and solve a LMI

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 comentarios

Walter Roberson
Walter Roberson el 21 de Dic. de 2021
We need values of the inputs to test with. A, C, D,
Ashik Rahman
Ashik Rahman el 21 de Dic. de 2021
Editada: Ashik Rahman el 21 de Dic. de 2021
A = [1 0 0;0 -0.53 0;0 0 0.017];
C1 = zeros(3);
C = [-15.54 0 1];
C1(1,:) = C;
D = [0 0 1];
A and C matrix changes over iteration.
Thank you
Walter Roberson
Walter Roberson el 21 de Dic. de 2021
Sorry, I do not know.
lmivar() type 1 requires symmetric arrays, but MATLAB thinks you are supplying non-symmetric arrays.
Thank you anyway
if true
% code
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'
end
How about this part?
Walter Roberson
Walter Roberson el 21 de Dic. de 2021
Sorry, I have not used lmi, so I do not know how to read those lines.
Ashik Rahman
Ashik Rahman el 21 de Dic. de 2021
Do you have any other suggestions to solve matrix inequalities?
Walter Roberson
Walter Roberson el 21 de Dic. de 2021
Sorry, not a topic I have had reason to look at before.
Ashik Rahman
Ashik Rahman el 21 de Dic. de 2021
Thank you for your time though

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Linear Matrix Inequalities en Centro de ayuda y File Exchange.

Productos

Versión

R2020a

Preguntada:

el 18 de Dic. de 2021

Comentada:

el 21 de Dic. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by