资源简介
1、考虑了非线性项满足Lipschitz条件的非线性系统观测器设计问题,利用Lyapunov方法给出新的判断观测误差稳定性的条件,并由所给的条件通过求解线性矩阵不等式来设计观测器。
2、利用matlab lmi工具箱对原文例子进行了求解
代码片段和文件信息
%参考文献:Lipschitz非线性系统观测器设计新方法,马克茂,马萍
%1、Lipschitz常数的求解方法 2、非线性观测器增益的求解
clear
clc
A=[0 1;1 -1];
C=[0 1];
gamma=0.49; %Lipschitz常数
i=0;
%-----------initial a LMI system------------
setlmis([]);
%----------define variables----------------
% P is a 2 by 2 matrix
P=lmivar(1[2 1]);
% W is a 2 by 1 matrix
W=lmivar(2[2 1]);
% q is 1 by 1 matrix
q=lmivar(1[1 0]);
while 1
P0=P;
W0=W;
gamma0=gamma;
%-----------initial a LMI system------------
setlmis([]);
%----------define variables----------------
% P is a 2 by 2 symmetric matrix
P=lmivar(1[2 1]);
% W is a 2 by 1 matrix
W=lmivar(2[2 1]);
% q is 1 by 1 matrix
q=lmivar(1[1 0]);
%P>0
lmiterm([-2 1 1 P]11);
lmiterm([2 1 1 0]0);
%
lmiterm([1 1 1 P]A‘1‘s‘);
%lmiterm([1 1 1 P]1A);
lmiterm([1 1 1 W]1C‘s‘);
%lmiterm([1 1 1 -W]C‘1);
lmiterm([1 1 1 P]11);
lmiterm([1 1 1 q]1eye(2));
%
lmiterm([3 1 1 P]gamma^21);
lmiterm([3 1 1 q]-1eye(2));
lmis = getlmis;
[tmin feas] = feasp(lmis);
P = dec2mat(lmis feas P);
W = dec2mat(lmis feas W);
q = dec2mat(lmis feas q);
if tmin>0
if i==1
gamma=gamma/2;
continue;
else
P=P0;
W=W0;
gamma=gamma0;
break;
end
else
Q=-(A‘*P+P*A+C‘*W‘+W*C+P);
gamma=sqrt(min(eig(Q))/max(eig(P)))
end
i=i+1;
end
disp(‘反馈增益:‘)
L=inv(P)*W
disp(‘Lipschitz常数:‘)
gamma
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 257724 2010-07-20 17:58 Lipschitz非线性系统观测器设计新方法\Lipschitz非线性系统观测器设计新方法.pdf
文件 1651 2010-07-22 11:44 Lipschitz非线性系统观测器设计新方法\lmi1.m
文件 38 2010-07-22 13:04 Lipschitz非线性系统观测器设计新方法\说明.txt
目录 0 2010-07-22 11:42 Lipschitz非线性系统观测器设计新方法
----------- --------- ---------- ----- ----
259413 4
评论
共有 条评论