LMI Minicx Problem (Robust Control)

15 次查看(过去 30 天)
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

采纳的回答

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

请先登录,再进行评论。

更多回答(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