现代控制系统分析与设计(6)

2019-08-31 13:20

四 稳定性

1. 根据系统的极点和特征值判定稳定性

线性定常连续系统渐近稳定的充分必要条件是:系统传递函数的全部极点均位于S左半平面;或系统矩阵A的特征值均具有负实部。

利用MATLAB提供的下列函数可以确定系统的极点和特征值。 a) 函数eig( )的调用格式为V?eig(A) 返回方阵A的特征值。

b) 函数roots( )的调用格式为roots(den),其中den为多项式的系数行向量。计算多

项式方程的解。

c) 函数pole ( )的调用格式为pole(G),其中G为系统的LTI对象。计算系统传递函

数的极点。

d) 函数zpkdata( )的调用格式为[z,p,k]?zpkdata(G,'v'),其中G为系统LTI对象。

返回系统的零点、极点和增益。

e) 函数pzmap( )的调用格式为pzmap(G),其中G 为LTI对象。绘制系统的零点和极点。

2. 用李氏第二法判定稳定性 1) 线性定常连续系统的稳定性

??Ax,若A是非奇异矩阵,则原点是其唯一的平衡状态。系对于线性定常连续系统x?(x)统在原点处大范围渐近稳定的充分条件是:存在李氏函数v(x)?xTpx,且v(x)正定,v负定。

可用以下几种方法构造李氏函数。 I. 试凑法

???例4-1给定系统x?0??21??x,用李氏第二法判定系统的稳定性。 ?3?22?(x)。 选取李氏函数为v(x)?x1?x2,用程序%ex41求v%ex41 syms x1; syms x2;

syms V; A=[0 1;-2 -3]; V=x1*x1+x2*x2;

V1=A(1,1)*x1+A(1,2)*x2; V2=A(2,1)*x1+A(2,2)*x2; vder=simple(jacobian(V,x1)*V1+jacobian(V,x2)*V2)

26

在命令窗中运行该程序的结果为

vder=-2*x1*x2-6*x2^2

显然v?(x)不负定,故需另选李氏函数。再选取李氏函数为v(x)?2x1?x2,运行上述程序可得 vder=--6*x2^2

显然v?(x)负定,从而系统渐近稳定。 II. 用李氏方程求解

设线性定常系统为?(A,B,C,D)。若对于任意给定的对称正定矩阵Q,存在唯一满足Lyapunov方程ATP?PA??Q正定矩阵P,则系统大范围渐近稳定。

可用MATLAB提供的函数lyap( )求解Lyapunov方程,该函数调用格式为:

P?layp(A,Q)

22矩阵P的符号性质可用函数posdef( )判定。该函数的调用格式为:

s?posde(fP) 该函数的程序如下。

function s=posdef(P) %判定矩阵的正定性 r=length(P); for i=1:r

pp(i)=det(P(1:i,1:i)); end

k=find(pp<0);j=find(pp==0); if isempty(j)&isempty(k)

s='matrix is positive definite matrix'; elseif isempty(k)

s='matrix is half positive definite matrix'; else

s='non-definite matrix'; end

例4-2判定例4-1中系统的稳定性。

在命令窗中运行下列命令 >> A=[0 1;-2 -3];Q=eye(2);P=lyap(A,Q) s=posdef(P) 返回 P =

1.0000 -0.5000 -0.5000 0.5000 s =

matrix is positive definite matrix

27

III. 克拉索夫斯基(Krasovski)法(参下面的讨论) 对x??f(x,t),xe是平衡点,取F(x)???f?xT

若F(x)?FT(x)?F(x)<0,则xe是渐近稳定的,

V(x)?fT(x,t)f(x,t)?0是李氏函数,即

当x??,有V(x)??,则xe大范围是渐近稳定。

??Ax,若A非奇异。 推论: 对线性定常系统x当AT?A?0,则xe=0是大范围渐近稳定。 例

??? x??1?22??x 判断平衡点稳定性。 ?3?解 显然A非奇异,xe=0是唯一平衡点。

AT

??2?A???33???6?

其顺序主子式为A11??2,A22?3?0,故AT?A?0,由推论,有xe是大范围渐进稳定。 2)非线性定常系统的稳定性

??f(x)稳定性的方法有Krasovski法和变量梯度法等。 判断非线性系统x?x?, 在Krasovski法中,选取李氏函数为v(x)?x???f?T??f???(x)?x?????x?TFx? 则v?????x??x?????x???TT式中的导数项可以利用MATLAB提供的函数jacobian( )求出。该函数的调用格式为

jacobia(nf,x)

计算函数f对变量x的导数。

例4-3 对于给定非线性系统

?1??3x1?x2?x ?3

?x?x?x?x122?2?(x)。 可用程序%ex43求出F的各阶主子行列式以及v%ex43

syms x1 x2; x=[x1 x2];

28

f1=-3*x1+x2;

f2=x1-x2-x2^3;

F1=[jacobian(f1,x1) jacobian(f1,x2);jacobian(f2,x1) jacobian(f2,x2)]; F2=[jacobian(f1,x1) jacobian(f2,x1);jacobian(f1,x2) jacobian(f2,x2)] ; F=F1+F2; %计算F n=length(x);

for i=1:n

ff(i)=simple(det(F(1:i,1:i))); %计算F的第i阶主子行列式 end ff

v=f1*f1+f2*f2 %计算v(x)

在命令窗中运行该程序得 ff =

[-6, 8+36*x2^2] v =

(-3*x1+x2)^2+(x1-x2-x2^3)^2

可见F负定, 且当x??时,v(x)??,所以系统大范围渐近稳定。

对于线性定常系统,

F?A?T为常数矩阵,故可以用函数posdef( )直接判定矩阵

F的符号性质,从而判定系统的稳定性。

五 极点配置和状态观测器

1. 状态反馈和输出反馈

设线性定常系统的状态空间表达式为

??Ax?Bu (3-5-1) xy?Cx

如果采用状态反馈控制规律u?r?Kx,其中r是参考输入,则状态反馈闭环系统的状

态空间表达式为

??(A?BK)x?Br xy?Cx (3-5-2)

?1其传递函数为Gk?C[sI?(A?BK)]B

如果采用输出反馈控制律u?r?Hy,其中r是参考输入,则输出反馈闭环系统的状态空间表达式为

??(A?BHC)x?Br x 29

y?Cx (3-5-3)

其传递函数为Gk?C[sI?(A?BHC)]?1B 2. 极点配置

如果SISO线性定常系统完全能控,则可通过适当的状态反馈, 将闭环系统极点配置到任意期望的位置。

假定期望的闭环极点为?1,?2,…,?n,则闭环系统的特征方程为 f(s)?sI?(A?BK)?(s??1)(s??2)?(s??n)

* ?sn?a1sn?1???an?1s?an (3-5-4) 原系统的特征方程为

f(s)?sI?A?s?a1snn?1***???an?1s?an (3-5-5)

状态反馈矩阵K可由下面两种方法得出。 1) K?[a*?a]TL?1Uc*T?1 (3-5-6)

an?1?an?1?An?1其中 [a?a]?an?anUc?B?**?a1?a1*? (3-5-7)

?ABAB2B (3-5-8)

??an?1?a?n?2 L?????a1??1an?2an?3?1???a111???? (3-5-9) ????2) K??0?*01?Ucn?1f(A)(Ackermann公式) (3-5-10)

*n?1*其中 f(A)?A?a1A式为

???an?1A?anI

**MATLAB提供的函数acker( )是用Ackermann公式求解状态反馈阵K。该函数的调用格

K?acker(A,B,P)

其中A和B分别为系统矩阵和输入矩阵。P是期望极点构成的向量。

MATLAB提供的函数place( )也可求出状态反馈阵K。该函数的调用格式为

K?place(A,B,P)

函数place( )还适用于多变量系统极点配置,但不适用含有多重期望极点的问题。函数acker( )不适用于多变量系统极点配置问题,但适用于含有多重期望极点问题。 例5-1 已知系统的状态方程为

30


现代控制系统分析与设计(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:福建申远新材料有限公司年产40万吨聚酰胺一体化项目20万-连江

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: