MATLAB根轨迹绘制.doc
《MATLAB根轨迹绘制.doc》由会员分享,可在线阅读,更多相关《MATLAB根轨迹绘制.doc(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、,摘 要控制系统的计算机辅助设计从成为一门专门的学科以来已有20多年的历史,它一直受到控制界的普遍重视,在其发展过程中出现了各种各样的实用工具和理论成果。本论文借助于国际上流行的控制系统计算机辅助设计软件MATLAB6.5对连续控制系统进行分析,首先,以自动控制原理为基础,对连续控制系统进行分析和设计,主要是系统的传函,零极点和状态空间表达式之间的转换;然后进行连续控制系统辅助设计及编程,包括系统的单位脉冲,单位阶跃,零输入和任意输入下的响应,还有系统的频率响应和特性的分析,如Nyquist图,Bode图,Nichols图和根轨迹的绘制。最后用GUI编制控制系统用户界面实现上述功能。关键词:连
2、续控制系统;系统模型;时域回应;频域回应;根轨迹;GUI AbstractControl the calculator assistance of system a design from become a specialized academics have already there is the history for more than 20 years, it has been subjected to a widespread value of control the boundary and appeared practical tool and theories result
3、of various each kind in it the development the process.This disquisition uses the software named MATLAB 6.5 edition to analyses the continuous system. Firstly, it takes automatic control principle as foundation, and carry on analysis and design the continuous control system. It mainly contain Transf
4、er function, the conversion of zero extremities and the appearance space expression types; Then carry on continuous control system assistance design and plait distance, include the unit pulse of system, the unit rank jump, zero importation with arbitrarily input next respond to, return systematic fr
5、equency to respond to with the analysis of the characteristic, like Nyquist diagram, Bode diagram, draw of Nichols diagram and root track. Finally draw up customers interface of the control system to carry out the above-mentioned function with the GUI.Key words:continuous control system;systems mode
6、l;time response;frequency response; root locus; GUI 目 录 第1章连续控制系统的计算机辅助设计和分析的概述11.1 控制系统的数学模型与建立11.2 控制系统的模型转换4第2章 基于MATLAB的连续控制系统的设计与分析62.1 连续控制系统的时域分析62.2 连续控制系统的频域分析112.3 连续控制系统的根轨迹分析与设计16第3章 图形用户接口(GUI)制作253.1 图形用户接口的创建概述253.2 控制系统分析与设计的GUI333.3 控制系统的综合分析与设计39结 论44参考文献45致 谢46,第1章连续控制系统的计算机辅助设计和分
7、析的概述1.1 控制系统的数学模型与建立控制理论分析,设计控制系统的第一步是建立实际系统的数学模型.所谓数学模型就是根据系统运动过程的物理,化学等规律,所写出的描述系统运动规律,特性,输出与输入关系的数学表达式。在控制系统中,常用的数学模型有微分方程模型,传递函数模型,状态空间模型以及零极点模型等。在一些场合下需要用到其中一种模型,而在其他场合则可能又需要其他模型,所以掌握模型之间的转换很重要。本章就控制系统常用的一些数学模型如微分方程模型、传递函数模型、状态空间模型和零极点模型的基本概念,包括模型的建立、转换作出说明,作为连续控制系统的计算机辅助设计的预备知识,为下面的设计及编程打下基础。1
8、.1.1 系统的时域模型连续时间系统用微分方程描述。对于单输入单输出(SISO)系统数学模的一般形式为:其中,y和u分别为系统的输入与输出, 与分别表示输入和输出各导数项系数。一、系统的传递函数模型1、模型介绍对于一个SISO连续系统,系统相应的微分方程如上式所示,对此微分方程作Laplace变换,则该连续系统的传递函数为 2、模型建立在MATLAB中,用函数TF可以建立一个连续系统传递函数模型,其调用格式为 其中,num为传递函数分子系统向量,den为传递函数分母系数向量。 3、程序举例连续系统的传递函数为 用MATLAB建立该系统传递函数模型和运行结果如下:%MATLAB PROGRAM
9、num=1,2;den=1,1,10;sys=tf(num,den)amp101Transfer function: s + 2-s2 + s + 10若系统的输入和输出量不是一个,而是多个,则称多输入多输出系统(MIMO)。和SISO系统类似,MIMO系统的数学模型形式也有微分方程,传递函数,矩阵状态空间和零极点。二、系统的状态空间模型 1、模型介绍LTI(线性时不变)系统总是能用一阶微分方程组来表示,写成矩阵或者说是状态空间的形式,这些方程可以表示为: 用状态空间表示的系统在 MATLAB 中用(A,B,C,D)形式表示,A,B,C,D都是矩阵,并且被当作独立变量来对待。状态空间描述是MA
10、TLAB中对LTI系统最为自然的一种模型描述方法其中 u 是 nu维控制输入向量,x 是 nx 维状态向量,y是 ny维输出向量。,而对多输入多输出 MIMO系统而言,状态空间描述是唯一的模型描述方法。2、模型建立:在MATLAB中,用函数SS可以建立一个连续系统传递函数模型,其调用格式为 其中A,B,C,D为系统状态方程系数矩阵。3、程序举例若给定系统的状态方程系数矩阵为 , , , 用MATLAB建立系统的程序模型如下:%MATLAB PROGAMa=-40.4, -139, -150;1,0,0; 0,1,0;b=1;0;0; c=0,18,360; d=0;sys=ss(a,b,c,d
11、);三、系统的零极点增益模型 1、模型介绍零极点模型实际上是传递函数模型的另一种形式,其方法是对原系统传递函数的分子和分母多项式进行分解,以获得系统的零极点表达形式。对于SISO系统来说,其零极点模型如下: 式中, (i=1,2,m)和 (i=1,2,n)分别为系统的零点和极点,K为系统增益。2、模型建立在MATLAB中,用函数SS可以建立一个连续系统传递函数模型,其调用格式为 :其中Z,P,K分别为系统的零点向量、极点向量和增益。3、程序举例已知系统传函为 用MATLAB建立系统模型程序和运行结果如下:%MATLAB PROGRAMz=-2;p=-0.4,-15,-25;sys=zpk(z,
12、p,18);amp105Zero/pole/gain: 1.2 控制系统的模型转换对系统的数学模型描述主要有微分方程模型,传递函数模型,状态空间模型和零极点模型等形式,而这些模型之间确实存在着内在的等效关系。在一些场合下,需要用其中一种形式的模型,而在另一种场合下可能又需要另外形式的模型,所以模型之间的相互转换是十分重要的。对于LIT系统,其状态空间模型由拉氏变换可得对应的传递函数模型为因此,当已知系统的状态空间模型(A,B,C,D),经矩阵运算,可求得系统的传递函数G(s)。在MATLAB中,用函数 SS自动完成上面运算。MATLAB提供了十分简单的模型转换方式。函数tf,zpk,ss不仅用
13、于系统模型的建立,也可用于模型形式之间的转换。一、 将非传递函数形式的系统模型sys转换成传递函数模型:二、 将非零极点增益形式的系统模型sys转换成零极点增益模型三、 将非状态空间的系统模型sys转换成状态空间模型。四、 传递函数模型转换为状态空间模型:五、 传递函数模型转换成零极点模型六、 状态空间模型装换为传递函数模型系统的状态方程可以表示为: 相应的传递函数为: 七、 例1.1 将系统G(z)=(0.04z+0.04)/(z3-z2+81z+0.9)转换为零极点增益形式,采样周期为0.01s。用MATLAB编写程序和运行结果如下:%MATLAB PROGRAM 1-1num=0.04
14、0.04;den=1 -2 81 0.9;sys-tf=tf(num,den,0.01)sys-zpk=zpk(sys-tf)amp101Transfer function: 0.04z + 0.04-z3 -2z2+81z+0.9Sampling time:0.01Zero/pole/gain: 0.04(z+1)-(z=0.01111)(z2-2.011z+81.02) 第2章 基于MATLAB的连续控制系统的设计与分析2.1 连续控制系统的时域分析系统的时间响应是指系统在输入信号或初始状态作用下,系统的输出随时间变化的情况。系统的时间相应反映了系统的特征和性能,如系统的快速性,稳定性及阻
15、尼性能等。充分了解和分析系统的响应,以及与系统结构,参数之间关系,是我们设计和校正系统的基础。在对控制系统进行时域分析时,通常使输入信号为单位阶跃函数或单位脉冲函数,由此求得系统的输出响应即控制系统的单位阶跃响应(step)和单位脉冲响应(impulse)。MATLAB6.5提供了丰富的函数用以对连续控制系统进行时域分析,这些函数是:1、 单位阶跃响应函数step2、 单位脉冲响应函数impulse3、 零输入响应函数initial4、 任一输入下的仿真函数lsim2.1.1 连续控制系统的单位阶跃响应函数STEP用来计算LIT的单位阶跃响应。适用于连续时间系统,也适用于离散时间系统;适用于S
16、ISO系统,也可用于MIMO系统。一、 单位阶跃响应函数调用方式: Step(sys) Step(sys,Tfinal) Step(sys,T) Step(sys1,sys2,T) 其中,sys为系统模型;Tfinal为仿真终止时间;T为用户指定的仿真时间向量,Ts为采样周期,对于连续时间系统T=To:dt:Tfinal,dt为连续系统离散化的采样周期,To为仿真开始时间。二、 程序举例已知控制系统传递函数:编程绘制其阶跃响应曲线。程序如下:num=1;den=1,2,8;step(num,den)结果如图2-1-1所示 图2-1-1阶跃响应曲线 2.1.2 连续控制系统的单位脉冲响应函数IM
17、PULSE用来计算LTI系统的单位脉冲响应。它适用连续时间系统,也适用于离散时间系统;既适用于SISO系统,也适用于MIMO系统。一、 脉冲响应的调用格式: Impulse(sys)Impulse(sys,Tfinal)Impulse(sys,T)Impulse(sys1,sys2,,T) Y,T=impulse(sys) Y,T,X=impulse(sys) 二、 程序举例:已知系统: 编写程序绘制其单位脉冲响应曲线程序如下所示:a=-1,2;-3,-4;b=1;0;c=0,1;d=0; impulse(a,b,c,d);结果如图2-1-2所示图2-1-2 单位脉冲响应曲线2.1.3 连续控
18、制系统的零输入响应函数INITIAL用来计算零输入条件下,初始状态Xo所引起的响应。该函数仅适用于状态空间模型所描述的系统。一、 函数调用格式:Initial(sys,X0)Initial(sys,X0,Tfinal)Initial(sys,X0,T)Initial(sys1,sys2,X0,T)Y,T,X=initial(sys,X0)其中x0为初始状态向量。二、 程序举例:系统如下:; 求初始状态: 时的零输入响应。程序如下:a=-1,7;-22,-4;b=1;0;c=0,1;d=0;x0=1;0;initial(a,b,c,d,x0);结果如图2-1-3所示 图2-1-3零输入响应2.1
19、.4 连续控制系统在任一输入下的仿真函数信号发生器函数GENSIG用以产生周期输入信号供系统时间响应函数LSIM使用。一、 函数调用格式U,T=gensig(Type,Tau)U,T=gensig(Type,Tau,Tf,Ts)其中,Type为信号模型,sin-正弦波,square-方波,pulse-周期脉冲波;Tau为信号周期;Tf为信号的时间区间;Ts为采样周期;U为信号值向量;T为和U对应的时间向量。在大量的应用领域中,人们经常面临用一个解析函数描述数据(通常是测量值)的任务。对这个问题有两种方法。在插值法里,数据假定是正确的,要求以某种方法描述数据点之间所发生的情况。这里讨论的方法是曲
20、线拟合或回归。人们设法找出某条光滑曲线,它最佳地拟合数据,但不必要经过任何数据点。其中,t是采样时间向量,矩阵u的每一列表示一个输入,每一行对应一个采样时刻,因此它的列数应该与系统sys的输入个数相同,它的行数应该与向量t的长度相同。任意输入响应函数LSIM是用来仿真系统对任意输入信号的响应,基本调用格式用来绘制任意输入响应图。Lsim(sys,U,T)其中,sys为仿真系统;U为输入信号向量;T为和输入U对应的时间向量。对于状态空间模型,调用时可加入初始状态值X0,调用格式为: Lsim(sys,U,T,X0)绘制多个系统对同一个任意输入响应图的调用格式为 Lsim(sys1,sys2,,U
21、,T,X0)返回响应数据但不绘制响应图的调用格式为 Ys,Ts=lsim(sys,U,T)其中,Ys相应值向量;Ts为和Ys相对应的时间向量。对于状态空间模型,另一个调用格式为 Ys,Ts,Xs=lsim(sys,U,T,X0)其中,Xs为仿真过程中系统状态的轨迹。二、程序举例计算一模型对三种不同输入信号的响应数据,并画图。t=0:0.01:20;s1=sin(t);s2=randn(size(t);s3,tt=gensig(square,10,20,0.01);sys=tf(10,1 2 10);y1,t1=lsim(sys,s1,t);y2,t2=lsim(sys,s2,t);y3,t3=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 轨迹 绘制
限制150内