终2013-05-28第6章自动控制计算机辅助分析

上传人:油条 文档编号:52809376 上传时间:2018-08-26 格式:PPT 页数:200 大小:4.70MB
返回 下载 相关 举报
终2013-05-28第6章自动控制计算机辅助分析_第1页
第1页 / 共200页
终2013-05-28第6章自动控制计算机辅助分析_第2页
第2页 / 共200页
终2013-05-28第6章自动控制计算机辅助分析_第3页
第3页 / 共200页
终2013-05-28第6章自动控制计算机辅助分析_第4页
第4页 / 共200页
终2013-05-28第6章自动控制计算机辅助分析_第5页
第5页 / 共200页
点击查看更多>>
资源描述

《终2013-05-28第6章自动控制计算机辅助分析》由会员分享,可在线阅读,更多相关《终2013-05-28第6章自动控制计算机辅助分析(200页珍藏版)》请在金锄头文库上搜索。

1、自动控制系统计算机仿真,合肥工业大学 电气与自动化工程学院,自动控制系统的计算机辅助分析是以理论分析为依据,在已经建立的自动控制系统数学模型的基础上,通过编程实现对系统稳定性、动态和稳态性能进行分析的一门应用技术。MATLAB以其方便灵活的编程、丰富的工具箱、以及强大的计算和绘图功能成为目前世界上最为流行的自动控制系统辅助分析软件。,6.1 自动控制系统的稳定性分析对于一个给定的控制系统,稳定性分析通常是最重要的,这是因为工程上所使用的控制系统必须首先是稳定的系统,不稳定的系统是根本无法工作的。,第6章 自动控制系统计算机辅助分析,连续系统的稳定性根据闭环极点在s平面内的位置予以确定。 线性定

2、常连续系统稳定的充分必要条件是:如果一个连续系统的闭环极点都位于左半s平面(即:实部为负) ,则该系统是稳定的。,离散系统的稳定性根据闭环极点在z平面的位置予以确定。 线性定常离散系统稳定的充分必要条件是:如果一个离散系统的闭环极点都位于z平面的单位圆内,则该系统是稳定的,因此判断线性定常系统稳定性的最直接的方法就是求出系统全部的闭环极点,再根据闭环极点在复平面上的位置判别系统的稳定性。,以往在分析系统的稳定性时,在特征方程不易求根的情况下,常采用间接的方法来判定系统的稳定性,如利用Routh和 Hurwize稳定判据判定系统稳定性。 随着MATLAB这样具有强大科学计算功能的语言的出现,利用

3、MATLAB直接对特征方程求根判定系统稳定性已变的轻而易举。,直接求根判定系统稳定性,6.1.1 求取特征方程的根,MATLAB提供了求取特征方程根的函数roots( ),其调用格式为式中,P为特征多项式的系数向量,返回值V是特征根构成的列向量。,解 在MATLAB的Command Window中输入命令按下回车键后,计算机立即就回答,状态方程系统的稳定性,连续线性状态方程解析解稳定性: 矩阵的特征根均有负实部,系统的特征多项式为,MATLAB提供的求取系统的特征函数为,MATLAB还提供一个可以直接求取矩阵特征值的函数eig( ),其调用格式为,其中D为矩阵A的特征值向量。,调用该函数时,也

4、可以给出两个返回值:其中V是由与特征值相对应的特征向量构成的变换矩阵。,解:输入命令, A=0 1 0;0 0 1;-6 -11 -6;P=poly(A),计算机输出,P =1.0000 6.0000 11.0000 6.0000,特征多项式:,再输入命令, A=0 1 0;0 0 1;-6 -11 -6;B=0;0;1;D1=eig(A),V,D=eig(A),特征值-1、-2、-3,且V-1AV=D,经线性变换,原系统成为,对n阶线性定常连续系统,其能控的充要条件为:能控性矩阵,满秩,即,其能观的充要条件为:能观性矩阵,满秩,即,对离散系统,能控性和能观性有上述类似结论,6.1.2 控制系

5、统的能控性和能观性分析,在“现代控制理论”课程中,已经知道:线性定常系统,如它的能控性矩阵为满秩,则该系统为状态完全能控,或称该系统是能控的;对于线性定常系统,如它的能观性矩阵为满秩,则该系统为状态完全能观,或称该系统是能观的。,MATLAB中有用于计算能控性矩阵的函数ctrb( ), 其格式为: 。 也有计算能观性矩阵的函数obsv( ),。MATLAB中还有计算矩阵秩的函数rank( )。这些函数可以帮助我们分析控制系统的能控性和能观性。,【例6-3】 分析下面的线性系统是否能控?是否能观测?,解 分别计算能控矩阵Qc和能观测矩阵Qo,然后用rank()计算这两个矩阵的秩. 输入以下语句:

6、 A=1 0 -1;-1 -2 0;3 0 1;B=1 0;2 1;0 2;C=1 0 0;0 -1 0; Qc=ctrb(A,B) Qo=obsv(A,C) Rc=rank(Qc) Ro=rank(Qo) 输出结果如右。 能控矩阵和能观 测矩阵均为满秩 系统能控,也是能观测的。,6.1.3 利用传递函数的极点判别系统稳定性,控制系统的传递函数(或脉冲传递函数)以有理真分式形式给出时,MATLAB提供的函数tf2zp( )和pzmap( )可以用来求取系统的极点和零点,进而实现对系统稳定性的判断。,【例6-4】 已知某控制系统如下图所示,试求出闭环系统的极点,并且判断闭环系统的稳定性。,解 输

7、入命令,计算机显示, n=6 6;d=1 12 12 13;G=tf(n,d);GB=feedback(G,1),表示该系统的闭环传递函数为,再判断闭环极点,输入,计算机输出,显然,3个闭环极点全部位于左半复平面,因此,闭环系统稳定。, Z,P,K=tf2zp(6 6,1 12 12 13),线性定常系统,因为只有唯一的一个平衡点,所以我们可以笼统地讲系统的稳定性问题。,早在1892年, Lyapunov就提出了一种可普遍适用于线性、非线性系统稳定性分析的方法。,稳定性是相对于某个平衡状态而言的。,对于其他类型系统则有可能存在多个平衡点,不同平衡点有可能表现出不同的稳定性,因此必须分别加以讨论

8、。,6.1.4 利用李亚普诺夫第二法判别系统稳定性,对于线性定常系统,Lyapunov稳定性判据基于以下定理:,MATLAB中,Lyapunov方程可以由控制系统工具箱中提供的lyap()函数求解矩阵P,调用格式为:P=lyap(A,Q),对于非线性系统,没有求Lyapunov函数的一般方法。MATLAB也没有这个功能。只能判断齐次线性定常系统的稳定性。,【例6-5】 齐次线性定常系统方程如下,试判断系统的稳定性。,解 编写MATLAB程序如下,计算机执行以后,输出,由于矩阵P的各阶主子式的行列式都为正,P为正定,因此本系统为大范围一致渐近稳定。, A=1 2 0;-6 -2 3;-3 -4

9、0;Q=eye(3);P=lyap(A,Q);a1=P(1,1),a2=det(P(1:2,1:2),a3=det(P),对于齐次线性定常离散系统,Lyapunov稳定性判据基于以下定理:,如果对任意给定的正定实对称矩阵Q,均存在正定实对称矩阵P满足下面的方程,则称系统是稳定的。,设线性定常离散系统,MATLAB中,Lyapunov方程可以由控制系统工具箱中提供的dlyap()函数求解矩阵P, 调用格式为:P=dlyap(G,Q),6.2 控制系统时域分析,6.2.1 时域分析的一般方法,给线性系统一个激励信号,输出是什么?一个动态系统的性能常用典型输入作用下的响应来描述。响应是指零初始值条件

10、下某种典型的输入函数作用下对象的响应,控制系统常用的输入函数为单位阶跃函数和脉冲激励函数(即冲激函数)。对于稳定的控制系统来说,其时域特性可以由暂态响应和稳态响应的性能指标来表示。最为常见的是用控制系统单位阶跃响应的特征来定义系统的动态时域性能指标,主要有:上升时间、峰值时间、超调量和调节时间等。 需要指出:系统动态性能指标定义的前提是系统为稳定的。控制系统的稳态性能指标通常用系统的稳态误差来表示。,控制理论中,时域分析是对控制系统进行分析、评价的最直接最基本的方法。 控制系统时域分析实质就是研究系统在某一典型输入信号作用下,系统输出随时间变化的曲线,从而分析评价系统的性能。 对控制系统来说,

11、系统的数学模型实际上就是某种微分方程或差分方程。因此,对系统进行时域分析就表现为从给定初始值出发,以某种数值算法计算系统各个时刻的输出响应,由此来分析系统的性能。, 上升时间 tr : 指响应从终值 10%上升到终值 90%所需的时间;对于有振荡的系统,亦可定义为响应从零开始,第一次上升到终值所需的时间。上升时间越短,响应速度越快。, 峰值时间tp : 响应超过其终值到达第一个峰值所需的时间., 调节时间 ts : 指响应到达并保持在终值5%(或2% )内所需的最短时间., 超调量%: 又称最大超调量(或百分比超调量), 是指响应的最大偏离值h(tp)与终值h() 之差与终值h()的百分比,即

12、,(31),若 , 则响应无超调.,6.2.2 常用时域分析函数,在MATLAB中,常用的时域分析函数主要有以下几种: step( )绘制连续系统的单位阶跃响应曲线; dstep( )绘制离散系统的单位阶跃响应曲线; impulse( )绘制连续系统的单位尖脉冲响应曲线; dimpulse( )绘制系统的单位尖脉冲响应曲线; lsim( )绘制连续系统的任意输入响应曲线; dlsim( )绘制离散系统的任意输入响应曲线,1、step()函数的用法,y=step(num,den,t):其中num和den分别为系统传递函数描述中的分子和分母多项式系数,t为选定的仿真时间向量,一般可以由t=0:st

13、ep:end等步长地产生出来。该函数返回值y为系统在仿真时刻各个输出所组成的矩阵。,y,x,t=step(A,B,C,D,iu):其中A,B,C,D为系统的状态空间描述矩阵,iu用来指明输入变量的序号。x为系统返回的状态轨迹。,如果对具体的响应值不感兴趣,而只想绘制系统的阶跃响应曲线,可调用以下的格式: step(num,den);step(num,den,t);step(A,B,C,D,iu,t);step(A,B,C,D,iu);,线性系统的稳态值可以通过函数dcgain()来求取,其调用格式为:dc=dcgain(num,den)或dc=dcgain(a,b,c,d),y,x,t=ste

14、p(num,den):此时时间向量t由系统模型的特性自动生成, 状态变量x返回为空矩阵。,2、impulse()函数的用法,求取脉冲激励响应的调用方法与step()函数基本一致。 y=impulse(num,den,t); y,x,t=impulse(num,den); y,x,t=impulse(A,B,C,D,iu,t) impulse(num,den);impulse(num,den,t) impulse(A,B,C,D,iu);impulse(A,B,C,D,iu,t),仿真时间t的选择: 对于典型二阶系统根据其响应时间的估算公式 可以确定。 对于高阶系统往往其响应时间很难估计,一般采

15、用试探的方法,把t选大一些,看看响应曲线的结果,最后再确定其合适的仿真时间。 一般来说,先不指定仿真时间,由MATLAB自己确定,然后根据结果,最后确定合适的仿真时间。 在指定仿真时间时,步长的不同会影响到输出曲线的光滑程度,一般不易取太大。,【例6-6】 已知控制系统闭环传递函数如下,试用MATLAB绘制其单位阶跃响应曲线。,解 输入命令, sys=tf(2 3,1 6 7 5);step(sys) ,计算机就绘制出该系统的单位阶跃响应曲线如图所示,再输入命令: impulse(sys),计算机就绘制出该系统的单位脉冲响应曲线如下图所示,例(采样时间),G=tf ( 1,7,24,24, 1

16、,10,35,20,24 ); t=0:0.1:10; y=step (G, t); plot (t, y),例 (采样时间) 求系统传递函数为num=1; den=1,0.5,1; t=0:0.1:10; y,x,t=step(num,den,t); plot(t,y);grid; xlabel(Time sec t); ylabel(y) 响应曲线如图所示,单位阶跃响应,例(脉冲+采样时间) 试求下列系统的单位脉冲响应MATLAB命令为: t=0:0.1:40; num=1; den=1,0.3,1; impulse(num,den,t); grid; title(Unit-impulse Response of G(s)=1/(s2+0.3s+1) 其响应结果如图所示。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械/制造/汽车 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号