系统的稳定性判别
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%% pzmap( )函数可以绘制连续系统在复平面内的零极点图.其调用格式如下;
% [p,z] = pamap(num,den) 或 [p,z] = pzmap(A,B,C,D) 或 [p,z] = pzmap(p,z) % 其中列向量p为系统的极点;列向量z为系统的零点;num,den和A,B,C,D分别为系统的传递函数和状态方程参数.
% 一:如下式闭环传递函数系统是有输出的情况下,通过pzmap( )函数可以得到系统的零极点图.
% 3 s^4 + 2 s^3 + s^2 + 4 s + 2
% G(s)= -----------------------------------------------
% 3 s^5 + 5 s^4 + s^3 + 2 s^2 + 2 s + 1
% 判断系统的稳定性,并给出系统的闭环极点.
num = [3 2 1 4 2];
den = [3 5 1 2 2 1];
r = roots(den) % 得到闭环极点.
subplot(2,1,1)
pzmap(num,den) % 得到零极点图.(零点用“o”表示,极点用小叉表示)
[A,B,C,D] = tf2ss(num,den);
subplot(2,1,2)
pzmap(A,B,C,D)
% r = % 闭环极点如下;
%
% +
% -
% +
% - % 由以上结果可知,连续系统在s右半平面有两个极点,故系统不稳定(这是用极点判断系统的稳定性).
%% 对于离散系统的零极点绘制可以用函数zplane( ),其调用格式同pzmap( )相同,zplane( )在绘制离散系统的零极点图的同时还绘制出单位圆.
% 二:已知单位负反馈离散系统的开环脉冲传递函数为:
% 5 z^5 + 4 z^4 + z^3 + z^2 - 3 z +
% G(s)=-----------------------------------------------------
% z^5
% 判断该系统等稳定性.
num = [5 4 1 -3 ];
den = [1 0 0 0 0 0];
sys = feedback(num0,den0,+1);
r = roots(den0); % 得到系统的闭环极点.
zplane(num0,den0) % 得到系统的零极点图.
%% 已知系统的状态方程(用特征值判断系统的稳定性)
clear;clc;
A = [2.25 -5 -1.25 ; ;
-1; ];
B = [46 24 22 2]';
P = poly(A); % 得到的是系统的特征多项式(返回矩阵P,是按照降幂排列的,A的特征多项式的行向量).
r = roots(P); % 得到的是特征多项式的根亦即特征值!注意:利用命令r = eig(A)可以直接得到系统的闭环极点
ii = find((real(r)>0));
n = length(ii);
if (n>0)
disp('System is Unstable')
else
disp('System is Stable')
end
% 执行结果如下:
% r =
%
%
% +
% -
% System is Stable % 系统是稳定的
%% 利用李雅普诺夫第二法来判断系统的稳定性.
% 已知系统的状态方程为:x' = Ax;其中A = [0 1;-1 -1]
% AP + PA' = -Q,已知A,Q利用函数lyap( )可以求得P!
A = [0 1;-1 -1];
Q = eye(size(A));
P = lyap(A,Q);
i1 = find(P(1,1)>0);
n1 = length(i1);
i2 = find(det(P)>0);
n2 = length(i2);
if (n1>0&n2>0);
disp('P>0,正定,系统在原点处的平衡状态是渐进稳定的')
else
disp('系统不稳定');
end
% 执行结果显示为:
% P>0,正定,系统在原点处的平衡状态是渐进稳定的