LMI Minicx Problem (Robust Control)

16 vues (au cours des 30 derniers jours)
yan zong
yan zong le 22 Oct 2019
Commenté : REVATHI le 22 Oct 2024
This Theorem is from one paper published in IEEE Trans Automatic Control, the details of theorem are as follows:
---------------------------------------------------------------------------------------------------------------------------
Then, I using the following configurations to test this theorem
alpha = -0.07, and beta is -0.28, delta is equal to 0.5.
--------------------------------------------------------------------------------------------------------------------------
If I want to find the miniman vlaue of gamma, i have the following LMI equation
Minimise gamma subject to (10)
-------------------------------------------------------------------------------------------------------------------------
Finally, I develop my own code, please see the following. However, it cannot work well, is there anyone can provide me some advice? Thanks a lot.
%% system definitation
delta = 0.5;
A = [delta 0.8 -0.4; -0.5 0.4 0.5; 1.2 1.1 0.8];
B = [0 1; 2 -1; 0 1.3];
E = [0.1; 0.4; 0.1];
C1 = [-1 0 2];
D = [0 0];
F = 0.3;
C2 = [-1 1.2 1; 0 -3 1];
H = [0.1; 0.4];
alpha = -0.07;
beta = -0.28;
A_bar = [A E; C1 F];
B_bar = [B; D];
% K_bar = K;
C_bar = [C2 H];
%% define the LMI system
setlmis([]);
%% Defining Variables:
gamma = lmivar(1, [1 0]); % gamma(1,1)
[P, n, sP] = lmivar(2, [2 2]); % P(2,2)
[G, n, sG] = lmivar(2, [4 4]); % G(4,4)
[V, n, sV] = lmivar(2, [2 2]); % V(2,2)
[U, n, sU] = lmivar(2, [2 2]); % U(2,2)
[J, n, sJ] = lmivar(2, [4 4]); % J(4,4)
[Xi_11, n, sXi_11] = lmivar(3, [sP, zeros(2, 2); zeros(2, 2), -gamma*gamma*eye(2, 2)]);
[Xi_22_bar, n, sXi_22_bar] = lmivar(3, [sP, zeros(2, 2); zeros(2, 2), eye(2, 2)]);
[Xi_22, n, sXi_22] = lmivar(3, [-alpha*(sG)-alpha*((sG)')+alpha*alpha*(sXi_22_bar)]);
%% Defining LMIs term contents:
% DEFINITION 1-st row
lmiterm([1 1 1 Xi_11], 1, 1); % #1 LMI, the (1, 1) block
% DEFINITION 2-nd row
lmiterm([1 2 1 G], 1, A_bar); % #1 LMI, the (2, 1) block
lmiterm([1 2 1 V], B_bar, C_bar); % #1 LMI, the (2, 1) block
lmiterm([1 2 2 Xi_22], 1, 1); % #1 LMI, the (2, 2) block
lmiterm([1 2 2 J], 1, 1); % #1 LMI, the (2, 2) block
% DEFINITION 3-rd row
lmiterm([1 3 1 V], ((B_bar')*B_bar), C_bar); % #1 LMI, the (3, 1) block
lmiterm([1 3 2 0], 0); % #1 LMI, the (3, 2) block
lmiterm([1 3 3 U], beta*((B_bar')*B_bar), -1, 's'); % #1 LMI, the (3, 3) block
% DEFINITION 4-th row
lmiterm([1 4 1 0], 0); % #1 LMI, the (4, 1) block
lmiterm([1 4 2 0], 0); % #1 LMI, the (4, 2) block
lmiterm([1 4 3 G], 1, B_bar); % #1 LMI, the (4, 3) block
lmiterm([1 4 3 U], B_bar, -1); % #1 LMI, the (4, 3) block
lmiterm([1 4 4 J], (1/(beta*beta)), -1); % #1 LMI, the (4, 4) block
lmisys = getlmis;
%% check the feasibility
% [tmin, xfeas] = feasp(lmisys);
% V = dec2mat(lmisys, xfeas, V);
% U = dec2mat(lmisys, xfeas, U);
%% Defining vector "c" for C'x in mincx
Num = decnbr(lmisys);
c = zeros(Num,1);
c(Num)=1;
%% Solving LMIs:
[copt,xopt] = mincx(lmisys,c);
%% Finding Feedback gain and u:
% display(gopt)
% K = inv(U)*V
  1 commentaire
yan zong
yan zong le 22 Oct 2019
DOI: 10.1109/TAC.2013.2289706

Connectez-vous pour commenter.

Réponse acceptée

yan zong
yan zong le 30 Oct 2019
Hi all
If you have the similar problem to this matlab code, please contact me, I already solved this problem.
Yan
  6 commentaires
超
le 20 Juil 2023
Hi zong, please send a copy to me, thank you very much, gechao365@126.com.
REVATHI
REVATHI le 22 Oct 2024
Hi Yan ,I have a simillar problem ,Can you send the code ,its help to solve my problem please

Connectez-vous pour commenter.

Plus de réponses (0)

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!

Translated by