📄 lmi3.m
字号:
%------------------------------------------
% File Name : dd_nominal.m
% 侩档 : Nominal system俊 措茄 maximum
% allowble delay bound甫 备茄促.
%------------------------------------------
clear all;
h= input('h = '); %% delay size
%%-----------------
%% Model Parameter
%%-----------------
Ra=25;
Ki=25;
Kb=0.20;
J=0.020;
%%---------------
%% System Matrix
%%---------------
A=[-Ki*Kb/(Ra*J) 0;1 0];
B=[Ki/(Ra*J);0];
R=10;
w=0.025;
Q=w*eye(2);
[K,s]=lqr(A,B,Q,R); %% Controller gain using LQR
A1 = -B*K;
[n,n]=size(A);
setlmis([]);
%-------------------
% LMI Variable
%-------------------
P = lmivar(1,[n 1]);
Q = lmivar(1,[n 1]);
X = lmivar(1,[n 1]);
Y = lmivar(2,[n n]);
Z = lmivar(1,[n 1]);
STAB = newlmi;
lmiterm([STAB 1 1 P],1,A,'s');
lmiterm([STAB 1 1 X],h,1);
lmiterm([STAB 1 1 Y],1,1,'s');
lmiterm([STAB 1 1 Q],1,1);
lmiterm([STAB 2 2 Q],-1,1);
lmiterm([STAB 3 3 Z],-h,1);
lmiterm([STAB 1 2 P], 1,A1);
lmiterm([STAB 1 2 Y], -1,1);
lmiterm([STAB 1 3 Z], h*A',1);
lmiterm([STAB 2 3 Z], h*A1',1);
STAB1 = newlmi;
lmiterm([-STAB1 1 1 X], 1,1);
lmiterm([-STAB1 1 2 Y], 1,1);
lmiterm([-STAB1 2 2 Z], 1,1);
STAB2 = newlmi;
lmiterm([-STAB2 1 1 P], 1,1);
delaylmi = getlmis;
[topt,xopt] = feasp(delaylmi);
P = dec2mat(delaylmi,xopt,P);
Q = dec2mat(delaylmi,xopt,Q);
X = dec2mat(delaylmi,xopt,X);
Y = dec2mat(delaylmi,xopt,Y);
Z = dec2mat(delaylmi,xopt,Z);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -