Simulación de tesis: retardo variable en el tiempo, adaptativo, robusto, global, control de modo deslizante

Agregar descripción de enlace
Ejemplo1: Resuelva el límite superior del
LMI de retardo de tiempo para resolver la desigualdad de matriz lineal
% Parámetros de control adaptativo robusto con retardos
clear
clc

% Planta
A = [0,1,0; 0,0,1; -1, -1,1];
Ad = [0,0.5,0; 0,0,0.5; 0.5,0.5,0.5];
B = [1 1 2] ';
h1 = 0,3;

%% Encuentra h2
% iniciales
Ac = A - B * K;
paso = 1e-2;
tmin = -5;
h2 = h1;
% De solución de LMI
mientras (tmin <0)
h2 = h2 + paso;

setlmis([])
% lmi variables
P = lmivar(1,[3 1]);
Q1 = lmivar(1,[3 1]);
Q2 = lmivar(1,[3 1]);
R1 = lmivar(1,[3 1]);
R2 = lmivar(1,[3 1]);
M1 = lmivar(2,[3 3]);
M2 = lmivar(2,[3 3]);
N1 = lmivar(2,[3 3]);
N2 = lmivar(2,[3 3]);

% lmi #1 left
lmiterm([1 1 1 P],1,Ac,'s')
lmiterm([1 1 1 Q1],1,1)
lmiterm([1 1 1 Q2],1,1)
lmiterm([1 1 1 R1],-1,1)
lmiterm([1 1 1 R1],h1^2*Ac',Ac)

lmiterm([1 1 2 P],1,Ad)
lmiterm([1 1 2 M1],-1,1)
lmiterm([1 1 2 N1],1,1)
lmiterm([1 1 2 R1],h1^2*Ac',Ad)

lmiterm([1 1 3 M1],1,1)
lmiterm([1 1 3 R1],1,1)

lmiterm([1 1 4 N1],-1,1)

lmiterm([1 1 5 0],0)

lmiterm([1 2 2 M2],-1,1,'s')
lmiterm([1 2 2 N2],1,1,'s')
lmiterm([1 2 2 R1],h1^2*Ad',Ad)

lmiterm([1 2 3 M2],1,1)

lmiterm([1 2 4 N2],-1,1)

lmiterm([1 2 5 0],0)

lmiterm([1 3 3 Q1],-1,1)
lmiterm([1 3 3 R1],-1,1)

lmiterm([1 4 4 Q2],-1,1)

lmiterm([1 5 5 0],0)
% lmi #1 right
lmiterm([-1 1 1 R2],-(h2-h1)*Ac',Ac)

lmiterm([-1 1 2 R2],-(h2-h1)*Ac',Ad)

lmiterm([-1 1 5 M1],(h2-h1),1)

lmiterm([-1 2 2 R2],-(h2-h1)*Ad',Ad)

lmiterm([-1 2 5 M2],(h2-h1),1)

lmiterm([-1 5 5 R2],(h2-h1),1)

% lmi #2 left
lmiterm([2 1 1 P],1,Ac,'s')
lmiterm([2 1 1 Q1],1,1)
lmiterm([2 1 1 Q2],1,1)
lmiterm([2 1 1 R1],-1,1)
lmiterm([2 1 1 R1],h1^2*Ac',Ac)

lmiterm([2 1 2 P],1,Ad)
lmiterm([2 1 2 M1],-1,1)
lmiterm([2 1 2 N1],1,1)
lmiterm([2 1 2 R1],h1^2*Ac',Ad)

lmiterm([2 1 3 M1],1,1)
lmiterm([2 1 3 R1],1,1)

lmiterm([2 1 4 N1],-1,1)

lmiterm([2 1 5 0],0)

lmiterm([2 2 2 M2],-1,1,'s')
lmiterm([2 2 2 N2],1,1,'s')
lmiterm([2 2 2 R1],h1^2*Ad',Ad)

lmiterm([2 2 3 M2],1,1)

lmiterm([2 2 4 N2],-1,1)

lmiterm([2 2 5 0],0)

lmiterm([2 3 3 Q1],-1,1)
lmiterm([2 3 3 R1],-1,1)

lmiterm([2 4 4 Q2],-1,1)

lmiterm([2 5 5 0],0)
% lmi #2 right
lmiterm([-2 1 1 R2],-(h2-h1)*Ac',Ac)

lmiterm([-2 1 2 R2],-(h2-h1)*Ac',Ad)

lmiterm([-2 1 5 N1],(h2-h1),1)

lmiterm([-2 2 2 R2],-(h2-h1)*Ad',Ad)

lmiterm([-2 2 5 N2],(h2-h1),1)

lmiterm([-2 5 5 R2],(h2-h1),1)
% lmi end
lmisys = getlmis;

% Solve LMI
[tmin,~] = feasp(lmisys);

fin
h2 = h2 - paso;
disp (['El h2 más grande encontrado es', num2str (h2), 'basado en el paso actual:', num2str (paso), '.'])
运行 结果 :
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_38694181/article/details/109061324
Recomendado
Clasificación