Dear sir ,
I have a problem when i run my script to check feasability, so i have in all matrix -inv(R1tilde) and -inv(R2)
Do you know how i can solve this problem to obtain a faisability
The title of paper is : Optimal State feedback integral control using Network-based Measurements
%% Paper HONGBO LI
% Title : OPTIMAL STATE FEEDBACK INTEGRAL CONTROL USING NETWORK-Based
% Measurements
%% G_SFIC Controller design procedure
%% Define Plant :
clear all
close all
clc
format long
warning(‘off’,‘YALMIP:strict’)
%% ------------------------------------------------------------------------
Ts=0.1;
LMI=[];
F=[1.0000 0.0046;
0 1.9e-5];
G=[0.7326; 7.6794];
H=[0.020;0.001];
C=[1 0];
% ------------------ Calcul size ----------------
nF=size(F,1)
mG=size(G,2)
nC=size(C,1)
%% ------------------------------------------------------------------------
Fb=[F zeros(nF,mG);C eye(nC,mG)];
Gb=[G;zeros(1,1)];
Hb=[H;zeros(1,1)];
% ------------------ Calcul size ----------------
nFb=size(Fb,1)
mGb=size(Gb,2)
nCb=size(C,1)
%% ------------------------------------------------------------------------
Z=zeros(nFb);
I=eye(nFb);
Ftilde=[Fb Z Z Z;I Z Z Z;Z I Z Z;Z Z I Z];
Gtilde=[Gb;zeros(3,1);zeros(3,1);zeros(3,1)];
Htilde=[Hb;zeros(3,1);zeros(3,1);zeros(3,1)];
Etilde0=[I Z Z Z];
Etilde1=[Z I Z Z];
Etilde2=[Z Z I Z];
Etilde3=[Z Z Z I];
%% -----------------------------------------------------------------------------
% LMI TOOLBOX
nFtilde=size(Ftilde,1);
dimp=nFtilde;
dimq=nFtilde;
II=eye(nFtilde);
ZZ=zeros(nFtilde);
lamda=1.12;
%% ********************* YALMIP ***************************
cvx_begin sdp
variable P0(dimp,dimp) symmetric
variable P1(dimp,dimp) symmetric
variable P2(dimp,dimp) symmetric
variable P3(dimp,dimp) symmetric
variable Q0(dimp,dimp) symmetric
variable Q1(dimp,dimp) symmetric
variable Q2(dimp,dimp) symmetric
variable Q3(dimp,dimp) symmetric
variable R1(3,3) symmetric
variable R2(1,1) symmetric
variable Lbare(1,3)
variable Z(nFtilde,1)
PI0=Ftilde+GtildeLbareEtilde0;
PI1=Ftilde+GtildeLbareEtilde1;
PI2=Ftilde+GtildeLbareEtilde2;
PI3=Ftilde+GtildeLbareEtilde3;
P0 > 0;
P1 > 0;
P2 > 0;
P3 > 0;
Q0 > 0;
Q1 > 0;
Q2 > 0;
Q3 > 0;
R1 > 0;
R2 > 0;
% |R1 0|
% R1bare = | |
% |0 0|
R1bare=[ R1 zeros(3);
zeros(3) zeros(3)];
% |R1bare 0|
% R1tilde = | |
% |0 0|
R1tilde=[R1bare zeros(6,6);
zeros(6,6) zeros(6,6)];
%% STEP 1
% Solve LMI 32
% |-P(i) * * * |
% |PI(i) -Q(i+1) * * |<0 with i ==> Omega 4
% |I 0 0 -R1^(-1)| Omega4 = {}
% |LE(i) 0 0 -R2^(-1)|
% Pour i=0
[ -P0 PI0’ II’ (LbareEtilde0)’;
PI0 -Q1 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
LbareEtilde0 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
% Pour i=1
[ -P1 PI1’ II’ (LbareEtilde1)’;
PI1 -Q2 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
LbareEtilde1 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
% Solve LMI equation 33
% |-P(i) * * * |
% |PI(i) -Q(j) * * |<0 with i ==> Omega 3
% |I 0 0 -R1^-1| j ==> Omega 4
% |LE(i) 0 0 -R2^-1|
[ -P0 PI0' II' (Lbare*Etilde0)';
PI0 -Q0 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
Lbare*Etilde0 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
[ -P1 PI1' II' (Lbare*Etilde1)';
PI1 -Q0 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
Lbare*Etilde1 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
[ -P2 PI2' II' (Lbare*Etilde2)';
PI2 -Q0 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
Lbare*Etilde2 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
[ -P3 PI3' II' (Lbare*Etilde3)';
PI3 -Q0 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
Lbare*Etilde3 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
% -------------------------------------------------------------------------
[ -P0 PI0' II' (Lbare*Etilde0)';
PI0 -Q1 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
Lbare*Etilde0 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
[ -P1 PI1' II' (Lbare*Etilde1)';
PI1 -Q1 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
Lbare*Etilde1 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
[ -P2 PI2' II' (Lbare*Etilde2)';
PI2 -Q1 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
Lbare*Etilde2 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
[ -P3 PI3' II' (Lbare*Etilde3)';
PI3 -Q1 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
Lbare*Etilde3 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
%---------------------------------------------------------------------
[ -P0 PI0’ II’ (LbareEtilde0)’;
PI0 -Q2 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
LbareEtilde0 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
[ -P1 PI1' II' (Lbare*Etilde1)';
PI1 -Q2 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
Lbare*Etilde1 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
[ -P2 PI2' II' (Lbare*Etilde2)';
PI2 -Q2 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
Lbare*Etilde2 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
[ -P3 PI3' II' (Lbare*Etilde3)';
PI3 -Q2 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
Lbare*Etilde3 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
% ---------------------------------------------
[ -P0 PI0’ II’ (LbareEtilde0)’;
PI0 -Q3 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
LbareEtilde0 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
[ -P1 PI1' II' (Lbare*Etilde1)';
PI1 -Q3 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
Lbare*Etilde1 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
[ -P2 PI2' II' (Lbare*Etilde2)';
PI2 -Q3 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
Lbare*Etilde2 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
[ -P3 PI3' II' (Lbare*Etilde3)';
PI3 -Q3 ZZ zeros(nFtilde,1);
II zeros(nFtilde) -(R1tilde) zeros(nFtilde,1);
Lbare*Etilde3 zeros(1,nFtilde) zeros(1,nFtilde) -(R2)]<0;
% Solve LMI 36
% |Pi I|
% | |>0 with i ==> Omega 3
% |I Qi|
[P0 II;II Q0]>=0;
[P1 II;II Q1]>=0;
[P2 II;II Q2]>=0;
[P3 II;II Q3]>=0;
% Solve LMI 37
% z’(0)P_I z(0)<Lamda
[lamda Z’;Z P0]>0;
[lamda Z’;Z P1]>0;
[lamda Z’;Z P2]>0;
[lamda Z’;Z P3]>0;
cvx_end