控制系统特性分析的MATLAB的实现_第1页
控制系统特性分析的MATLAB的实现_第2页
控制系统特性分析的MATLAB的实现_第3页
控制系统特性分析的MATLAB的实现_第4页
控制系统特性分析的MATLAB的实现_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第3 3章章 控制系统特性分析的控制系统特性分析的MATLABMATLAB的实现的实现3.1 3.1 控制系统稳定性分析的控制系统稳定性分析的MATLABMATLAB实现实现 一一.直接求根判定系统稳定性直接求根判定系统稳定性 求解控制系统闭环特征方程的根并判断所有根的实部是否小于零,在MATLAB里这是很容易用函数roots( )实现的。 【例3.1】已知系统开环传递函数为: ,试判别系统的稳定性。 )20)(1()2(100)(SSSSSG【解】根据题意,利用roots( )函数给出以下MATLAB程序段: k=100;z=-2;p=0,-1,-20;n1,d1=zp2tf(z,p,k)

2、; G=tf(n1,d1); p=n1+d1; roots(p) %运行结果:运行结果:n1 = 0 0 100 200,d1 = 1 21 20 0; %运行结果:运行结果: Transfer function: 100 s + 200-s3 + 21 s2 + 20 s %运行结果:运行结果:p = 1 21 120 200ans = -12.8990 -5.0000 -3.1010 【解】根据题意,利用roots( )函数给出以下MATLAB程序段: 【例3.2】已知系统的动态结构图如图3.1-1所示,试对系统闭环判别其稳定性。 图3.1-1 n1= 10;d1=1 1 0;s1=tf(

3、n1,d1); n1=2 0;d1= 0 1;s2=tf(n1,d1); s12=feedback(s1,s2); %运行结果:运行结果:Transfer function: 10 - s2 + s %运行结果:运行结果:Transfer function:2 s %运行结果:运行结果:Transfer function: 10-s2 + 21 s n3= 1 1;d3=1 0;s3=tf(n3,d3); sys1=s12*s3; sys=feedback(sys1,1) roots(sys.den1) %运行结果:运行结果:Transfer function:s + 1- s%运行结果运行结

4、果:Transfer function: 10 s + 10-s3 + 21 s2%运行结果:运行结果:Transfer function: 10 s + 10 -s3 + 21 s2 + 10 s + 10ans = -20.5368 -0.2316 + 0.6582i -0.2316 - 0.6582i补充知识:补充知识:MATLABMATLAB基础基础 一一.M.M文件文件 所谓M文件,就是用户把要实现的命令写在一个以.m为扩展名的文件中。与在命令窗口中输入命令行方式比,M文件的有的是可调试、可重复使用。M文件分为程序文件与函数(function)文件两大类。1.M1.M程序文件程序文件

5、 在MATLAB桌面建立新的M文件或打开已经建立好的M文件(点击桌面操作环境画面中FileNewm File或FileOpen所需文件)等操作,或直接在命令窗口键入“edit”,或直接点击图标 ,都能进入图3.1-2所示的MATLAB编辑和调试操作环境的窗口画面。图3.1-2 MATLAB编辑和调试操作环境的窗口画面如【例3.2】可以用M文件方式建立,文件名为:zhang3L2.m 2.2.函数式函数式M M文件文件 在函数文件的第一行必须是以关键字“function”开始的函数说明语句。下面是一个只有两行的函数文件的例子。 Function c=myfile(a,b)C=sqrt(a2)+(

6、b2);a=3;b=4;c=myfile(a,b); c= 5二二.MATLAB.MATLAB控制系统工具箱函数控制系统工具箱函数 1.1.主要模型建立函数表主要模型建立函数表 举例:举例: feedback函数函数功能:两个系统的反馈连接格式:A,B,C,D=feedback(A1,B1,C1,D1,A2,B2,C2,D2);A,B,C,D=feedback(A1,B1,C1,D1,A2,B2,C2,D2,sign);A,B,C,D=feedback(A1,B1,C1,D1,A2,B2,C2,D2,inp1,out1); num,den=feedback(num1,den1,num2,den

7、2); num,den=feedback(num1,den1,num2,den2,sign);A,B,C,D=feedback(A1,B1,C1,D1,A2,B2,C2,D2,sign)可将两个系统按反馈方式连接,系统1的所有输出连接到系统2的输入,系统2的所有输出连接到系统1的输入;sign是用于反馈连接的符号,默认为负号。num,den=feedback(num1,den1,num2,den2,sign);用于传递函数形式所表示的系统,sign是用于反馈连接的符号,默认为负号。A,B,C,D=feedback(A1,B1,C1,D1,A2,B2,C2,D2,inp1,out1)将系统1的指

8、定输出(out1)连接到系统2的输入,系统2的输出连接到系统1的指定输入(inp1),以次构成闭环系统,如图所示。在【例3.2】就用到了该函数。 2.2.主要模型变换函数表主要模型变换函数表 3.3.主要模型特性函数表主要模型特性函数表 4.4.主要时域响应函数表主要时域响应函数表 线控例例2-11已知系统矩阵 ,输入矩阵 , ,且 ,单输入u(t)为单位阶跃函数,试求系统的状态响应和输出响应。3210A10B01C5 . 00)0(x解解:直接用MATLAB的lsim命令求解A=0 1;-2 -3;B=0 1;C=1 0;D=0;x0=0 0.5;y,x=lsim(A,B,C,D,1+t*0

9、,t,x0);plot(x);5.5.主要频域响应函数表主要频域响应函数表 6.6.主要的根轨迹函数表主要的根轨迹函数表 二用根轨迹法判断系统稳定性及其举例二用根轨迹法判断系统稳定性及其举例【例3.3】已知一个单位负反馈系统开环传递函数为G(s),试在系统闭环的根轨迹图上选择一点,求出该点的增益k及其系统的闭环极点位置,并判断在该点系统闭环的稳定性。)22)(6)(5()3()(2ssssssksG【解】根据题目要求,调用函数命令rlocfind( )的程序如下: num=1 3;den=conv(conv(conv(1 0,1 5),1 6),1 2 2);sys=tf(num,den);

10、rlocus(sys) %运行结果:运行结果:den = 1 13 54 82 60 0 %运行结果:运行结果:Transfer function: s + 3-s5 + 13 s4 + 54 s3 + 82 s2 + 60 s图3.1-2k,poles=rlocfind(sys) selected_point = -0.6498 - 0.0585ik = 7.2349poles = -5.8248 -5.2067 -0.6585 + 0.8155i -0.6585 - 0.8155i -0.6514 Select a point in the graphics window求给定一组根的系统

11、根轨迹增益函数求给定一组根的系统根轨迹增益函数rlocfind( ) 函数命令调用格式:k,poles=rlocfind(sys)函数命令使用说明:【例3.4】续【例3.3】,试计算当k在3337范围内时系统的闭环极点位置,并判断系统闭环的稳定性。【解】根据题目要求,用函数命令编写MATLAB程序如下:num=1 3;den=conv(conv(conv(1 0,1 5),1 6),1 2 2);cpole=rlocus(num,den,33:1:37); %运行结果:运行结果:cpole = Columns 1 through 4 -5.5745 + 0.6697i -5.5745 - 0.

12、6697i -1.7990 -0.0260 + 1.3210i -5.5768 + 0.6850i -5.5768 - 0.6850i -1.8154 -0.0155 + 1.3340i -5.5791 + 0.7001i -5.5791 - 0.7001i -1.8313 -0.0052 + 1.3467i -5.5815 + 0.7147i -5.5815 - 0.7147i -1.8466 0.0048 + 1.3591i -5.5838 + 0.7291i -5.5838 - 0.7291i -1.8615 0.0146 + 1.3712i Column 5 -0.0260 - 1.3

13、210i -0.0155 - 1.3340i -0.0052 - 1.3467i 0.0048 - 1.3591i 0.0146 - 1.3712irange=33:1:37;range,cpoleans = Columns 1 through 4 33.0000 -5.5745 + 0.6697i -5.5745 - 0.6697i -1.7990 34.0000 -5.5768 + 0.6850i -5.5768 - 0.6850i -1.8154 35.0000 -5.5791 + 0.7001i -5.5791 - 0.7001i -1.8313 36.0000 -5.5815 + 0

14、.7147i -5.5815 - 0.7147i -1.8466 37.0000 -5.5838 + 0.7291i -5.5838 - 0.7291i -1.8615 Columns 5 through 6 -0.0260 + 1.3210i -0.0260 - 1.3210i -0.0155 + 1.3340i -0.0155 - 1.3340i -0.0052 + 1.3467i -0.0052 - 1.3467i 0.0048 + 1.3591i 0.0048 - 1.3591i 0.0146 + 1.3712i 0.0146 - 1.3712i求系统根轨迹的函数求系统根轨迹的函数 r

15、locus( ) 函数命令调用格式:r,k=rlocus(a,b,c,d)r,k=rlocus(sys)函数命令使用说明:rlocus( )函数命令用来绘制SISO系统的根轨迹图。给定前向通道传递函数G(s),反馈补偿为k*F(s)的受控对象,其闭环传递函数为:)()()()(1)()(sQsGsFskGsGs可以用以下程序来校核当k=35与k=36时闭环系统的阶跃给定响应曲线:n1=1 3;d1=conv(conv(conv(1 0,1 5),1 6),1 2 2);for k=35:36n=k*n1;s1=tf(n,d1);G=feedback(s1,1);step(G);hold one

16、ndgtext(k=35),gtext(k=36) 图3.1-.3求连续系统单位阶跃响应的函数求连续系统单位阶跃响应的函数step( ) 函数命令调用格式如下:step(sys) 三三. . 用用BodeBode图法判断系统稳定性及其举例图法判断系统稳定性及其举例【例3.5】已知两个单位负反馈系统开环传递函数分别为:用Bode图法判断系统闭环的稳定性。ssssGssssG457 . 2)(;457 . 2)(232231【解】根据要求,对第一个系统用margin( )函数命令给出如下程序:num=0 0 0 2.7;den=1 5 4 0;s1=tf(num,den);Gm,Pm,Wcp,Wc

17、g=margin(s1)Gm = 7.4074Pm = 51.7320Wcp = 2Wcg = 0.5783margin(s1) 图3.1-4求系统幅值裕度与相位裕度的函数求系统幅值裕度与相位裕度的函数margin( )函数命令调用格式:Gm,Pm,Wcp,Wcg=margin(sys)margin(sys)同样对第二个系统给出程序如下:n2=0 0 0 2.7;d2=1 5 -4 0;s2=tf(n2,d2);margin(s2)Gm,Pm,Wcp,Wcg=margin(s2) Gm = 1Pm = 0 图3.1-5四四. . 李雅普诺夫李雅普诺夫(Lyapunov(Lyapunov) )稳

18、定性判据稳定性判据 定理定理4.8 线性系统渐进稳定的判别方法 设线性定常连续系统为 则平衡状态 为大范围渐进稳定的充要条件是:对任意给定的一个正定实对称矩阵Q,比必存在一个正定的实对称矩阵P,且满足李雅普诺夫方程 ) 11 . 3(uBAxx 0ex复习复习:现代控制理论现代控制理论)21 . 3(QPAPAT并且 是系统的李雅普诺夫函数。) 31 . 3(PxxV(x)T)41 . 3(IPAPAT 在线代控制理论的理论计算中,要判系统(3.1-1)是否稳定,需要做以下工作: 由式(3.1-4) 求P,并验证P是正定的; 由式(3.1-3) 求V(x),并判验证V(x) 是正定的; 结论:

19、系统是稳定的。 在MATLAB中,LyapunovLyapunov方程(3.1-2)可以由控制系统工具箱中提供的lyap( )函数求解,该函数的调用格式: V=lyapV=lyap(A,W)(A,W)。例例3.63.6 已知系统的状态方程为:uxx201075. 025. 075. 125. 1125. 15 . 025. 0.25. 025. 125. 425. 25 . 025. 1525. 2试分析系统的稳定性。3.2 3.2 控制系统稳态误差分析的控制系统稳态误差分析的MATLABMATLAB实现实现 一一. .控制系统稳态误差分析的有关概念控制系统稳态误差分析的有关概念2.自动控制系

20、统的型别自动控制系统的型别 3.控制系统的稳态误差系数控制系统的稳态误差系数 1.稳态误差稳态误差ess ) 12 . 3()(limteetss)22 . 3()(1hess)32 . 3()()(lim0sHsGKsp(2) 稳态速度误差系数kv)42 . 3()()(lim0sHssGKsv(3) 稳态加速度误差系数ka)52 . 3()()(20limsHsGsKas(1)稳态位置误差系数kp 二二. . 控制系统稳态误差计算举例控制系统稳态误差计算举例) 1)(2() 12(3)(sssssG【例3.7】已知一个单位负反馈系统开环零极点增益模型为: 试绘制出该系统的单位斜坡响应曲线并

21、求单位斜坡响应稳态误差。【解】(1)对系统判稳程序程序:k=6;z=-0.5;p=-2 1 0;n1,d1=zp2tf(z,p,k);s=tf(n1,d1); sys=feedback(s,1); roots(sys.den1) %运行结果:运行结果: n1 = 0 0 6 3 d1 = 1 1 -2 0%运行结果:运行结果: Transfer function: 6 s + 3-s3 + s2 - 2 s% Transfer function: 6 s + 3 - s3 + s2 + 4 s + 3ans = -0.1084 + 1.9541i -0.1084 - 1.9541i -0.78

22、32 (2)求系统单位阶跃给定响应与稳态误差程序:k=6;z=-0.5;p=-2 1 0;n1,d1=zp2tf(z,p,k);s=tf(n1,d1);sys=feedback(s,1);step(sys); t=0:0.1:30;y=step(sys,t); subplot(121),plot(t,y),grid; subplot(122),ess=1-y; plot(t,ess),grid 图4.6 系统阶跃响应与阶跃误差响应曲线ess(length(ess) ans = -0.0322%运行结果:运行结果:y = 0 0.0294 : : 1.0224 1.0322求单位阶跃响应的稳态误

23、差函数求单位阶跃响应的稳态误差函数esst( ) esst( )函数的调用格式为:ess=esst(sys,t)% MATLAB PROGRAM esst.m function ess=esst(sys,t) y=step(sys,t); subplot(121),plot(t,y),grid subplot(122),es=1-y; plot(t,es),grid ess=es(length(es)如果运行以下调用esst.m函数的程序,会得到同样的结果。k=6;z=-0.5;p=-2 1 0;n1,d1=zp2tf(z,p,k);s=tf(n1,d1);sys=feedback(s,1);

24、t=0:0.1:30ess=esst(sys,t);ans = -0.03223.3 3.3 用用MATLABMATLAB分析系统能控能观测性的方法分析系统能控能观测性的方法一一. .能控能观性判别能控能观性判别 uuDCxyBAxx BABAABBMnc12nMrankc)(TnoCACACACM12系统能控nMrankO)(系统能观测),(BActrbMc ),(CAobsvMo 利用这两个函数很容易判定系统的能控性和能观测性。 例例3.93.9 选自现代控制理论已知系统的状态空间表达式为: xyuxx120110010960324211用MATLAB函数分析系统能控性与能观测性。 MAT

25、LAB中,提供了可将连续或离散系统状态空间表达式化为对角线或约旦标准型的jordan()函数,该函数的格式为: v v,jjjordanjordan(A)(A)。 例例3.103.10 已知系统的状态空间表达式为: xyuxx00110051166116110 用MATLAB函数将系统化为对角线或约旦标准型,并分析系统能控性与能观测性。例例3.113.11 已知系统的状态空间表达式为:xyuxx001100032100010 用MATLAB函数将系统化为对角线或约旦标准型,并分析系统能控性与能观测性。二二. .系统的结构分解系统的结构分解 复习:定理定理3.15 设一个不能控系统的状态方程为:

26、CxyBuAxx cccxxPxxCyuBxAx21122121100CCCBBAAAAuBxAxAx11c12c11cccxAx22能控子空间能控子空间 不能控子空间不能控子空间 MATLAB中,提供了将系统进行能控与不能控分解的函数ctrbf( ),该函数的调研格式为:AB,BB,CB,T,K=ctrbf(A,B,C)同样,设一个不能观测系统的状态方程为:CxyBuAxx xCyuBxAx 00121222111CCBBBAAAA01100 xCyuBxAx111uBxAxAx20220210能观测子空间能观测子空间 不能观测子空间不能观测子空间 MATLAB中,提供了将系统进行能观测与不能观测分解的函数obsvf( ),该函数的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论