英才学院自动控制原理实验教案07控制系统的模拟试验与MATLAB仿真.docx

上传人:夺命阿水 文档编号:395503 上传时间:2023-05-18 格式:DOCX 页数:49 大小:423.65KB
返回 下载 相关 举报
英才学院自动控制原理实验教案07控制系统的模拟试验与MATLAB仿真.docx_第1页
第1页 / 共49页
英才学院自动控制原理实验教案07控制系统的模拟试验与MATLAB仿真.docx_第2页
第2页 / 共49页
英才学院自动控制原理实验教案07控制系统的模拟试验与MATLAB仿真.docx_第3页
第3页 / 共49页
英才学院自动控制原理实验教案07控制系统的模拟试验与MATLAB仿真.docx_第4页
第4页 / 共49页
英才学院自动控制原理实验教案07控制系统的模拟试验与MATLAB仿真.docx_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《英才学院自动控制原理实验教案07控制系统的模拟试验与MATLAB仿真.docx》由会员分享,可在线阅读,更多相关《英才学院自动控制原理实验教案07控制系统的模拟试验与MATLAB仿真.docx(49页珍藏版)》请在课桌文档上搜索。

1、自动控制原理第7章控制系统的模拟试验与MATLAB仿真7.1 MATLAB 简介MATLAB是Mathworks公司开发的一种集数值计算、符号计算和图形可视化三大基本功 能于一体的功能强大、操作简单的优秀工程计算应用软件。MTLB不仅可以处理代数问题 和数值分析问题,而且还具有强大的图形处理及仿真模拟等功能。从而能够很好的帮助工程 师及科学家解决实际的技术问题。MATLAB的含义是矩阵实验室(MatriX Laborato”),最初主要用于方便矩阵的存取, 其基本元素是无需定义维数的矩阵。经过十几年的扩充和完善,现己发展成为包含大量实用 工具箱(Toolbox)的综合应用软件,不仅成为线性代数

2、课程的标准工具,而且适合具有不 同专业研究方向及工程应用需求的用户使用。MATLAB最重要的特点是易于扩展。它允许用户自行建立完成指定功能的扩展MATLAB函 数(称为M文件),从而构成适合于其它领域的工具箱,大大扩展了 MATLAB的应用范围。目 前,MATLAB已成为国际控制界最流行的软件,控制界很多学者将自己擅长的CAD方法用 MATLAB加以实现,出现了大量的MATLAB配套工具箱,如控制系统工具箱(COntrOI systems toolbox),系统识别工具箱(SyStem identification toolbox),鲁棒控制工具箱(robust control toolbox

3、),信号处理工具箱(Signal processing toolbox)以及仿真环境 SIMULTNK 等。7.1.1 MATLAB 的安装本节将讨论操作系统为Microsoft Windows环境下安装MATLAB6的过程。将MATLAB6的安装盘放入光驱,系统将自动运行auto-run. bat文件,进行安装:也可 以执行安装盘内的SetUP.exe文件启动MATLAB的安装程序。启动安装程序后,屏幕将显示 安装MATLAB的初始界面,根据Windows安装程序的常识,不断单击Next,输入正确的安装 信息,具体操作过程如下:输入正确的用户注册信息码:选择接收软件公司的协议:输入用户名和公

4、司名:选择 MATLAB 组件(TOOlbOx):选择软件安装路径和目录:单击Next按钮进入正式的安装界面。安装过程界面如图7-1所示。图7-1 MATLAAB安装过程界面图7-2 MATLAAB启动过程界面安装完毕后,选择Restart my computer now选项以重新启动计算机。重新启动计算机后,用户就可以点击图标浦A使用MATLAB6 了。MATLAB启动过程界面如 图7-2所示。7.1.2 MATLAB桌面系统MATLAB的桌面系统由桌面平台以及桌面组件共同构成,如图7-3。桌面平台是各桌面组 件的展示平台,它提供了一系列的菜单操作以及工具栏操作,而不同功能的桌面组件构成了

5、整个MATLAB操作平台。其组件主要包含如下8个组件部分:命令窗口(COmmand Window)历史命令窗口 (Command History)组件平台(LaUnCh Pad)路径浏览器(Current Directory Browser)帮助浏览器(HeIP Browser) 工作空间浏览器(Workspace Browser)数组编辑器(Array Editor)M文件编辑 调试器(Editor-Debugger) o用户可以在View菜单下选择打开或关闭某个窗口。图73 MATLAB桌面平台7.1.3 MATLAB 命令窗口MATLAB可以认为是一种解释性语言。在MATLAB命令窗口中

6、,标志为命令提示符,在 命令提示符后面键入一个MATLAB命令时,MATLAB会立即对其进行处理,并显示处理结果。这种方式简单易用,但在编程过程中要修改整个程序比较困难,并且用户编写的程序不 容易保存。如果想把所有的程序输入完再运行调试,可以用鼠标点击快捷DI或 FileNewM-file菜单,在弹出的编程窗口中逐行输入命令,输入完毕后点击DCbUglRUn(或 F5)运行整个程序。运行过程中的错误信息和运行结果显示在命令窗口中。整个程序的源代 码可以保存为扩展名为的M文件。在介绍MATLAB的强大计算和图象处理功能前,我们可以先运行一个简单的程序。设系统的闭环传递函数为:求系统的时域响应图,

7、可输入下面的命令: num=l, 4;den=l, 2, 8;step(num, den)07Step Response0.6System: SySTme (sec 3 7AnoKucte. 0.510.5l,5*l + 5、F 八G(s) - -!= fi m(7-1)/+。1尸+ - + ejrw将系统的分子和分母多项式的系数按降累的方式以向量的形式输入给两个变量num和加,就可以轻易地将传递函数模型输入到MATLAB环境中。命令格式为:num =业也,hm,黑J ;(7-2)(7-3)den- 1,4,生,,JMl ;在UATLAB控制系统工具箱中,定义了 tf()函数,它可由传递函数分

8、子分母给出的变 量构造出单个的传递函数对象。从而使得系统模型的输入和处理更加方便。该函数的调用格式为:G=tf (num, den);(7-4)例7-2 一个简单的传递函数模型:G(S) - 4 _ _2_ s + 2s + 35 + 4s + 5可以由下面的命令输入到MATLAB工作空间中去。 num=1, 5;den= 1, 2, 3, 4, 5;G=tf (num, den)运行结果:Transfer function:s + 5s4 + 2s3 + 3s2 + 4s + 5这时对象G可以用来描述给定的传递函数模型,作为其它函数调用的变量。例7-3 一个稍微复杂一些的传递函数模型:G(S

9、)=6( 5)(F+ 3s + Iy (S + 6)该传递函数模型可以通过下面的语句输入到MATLAB工作空间。 num=6*1,5;den= conv(conv(1,3, 1 , 1,3, 1), 1,6);tf(num, den)运行结果Transfer function:6 s + 30s5 + 12 s4 + 47 s3 + 72 s2 + 37 s + 6其中COnV()函数(标准的MATLAB函数)用来计算两个向量的卷积,多项式乘法当然也 可以用这个函数来计算。该函数允许任意地多层嵌套,从而表示复杂的计算。2 .零极点模型线性系统的传递函数还可以写成极点的形式:(s + z.)(s

10、 + zj (s + z )(7-5)G(S) = K .,4(s+p)(s+P2)(s + a)将系统增益、零点和极点以向量的形式输入给三个变量KG。、Z和P,就可以将系统的零 极点模型输入到MATLAB工作空间中,命令格式为:(7-6)(7-7)(7-8)KGain = K;Z= -z1:- Z2: -Z11,:P =?:- Pl :一 PnV在MATLAB控制工具箱中,定义了 zpk()函数,由它可通过以上三个MATLAB变量构造出 零极点对象,用于简单地表述零极点模型。该函数的调用格式为:G=zpk(Z, P, KGain)(7-9)例7-4某系统的零极点模型为:(s+ 1.9294)

11、(s + 0.0353 0.9287/)G(S) = 6G+ 0.9567 1.2272/)(5 - 0.0433 0.643该模型可以由下面的语句输入到MATLAB工作空间中。 KGain=6 ;z=-l. 9294:-0. 0353+0. 9287j:-0. 0353-0. 9287j;P=-0.9567+1. 2272j:-0. 9567-1. 2272j:0. 0433+0. 6412j:0. 0433-0. 6412j;G= zpk( Z, P, KGain)运行结果:Zcro/pole/gain:6 (s+l. 929) (s.2 + 0. 0706s + 0. 8637)(s2

12、- 0. 0866s + 0.413) (s*2 + 1.913s + 2. 421)注意:对于单变量系统,其零极点均是用列向量来表示的,故Z、P向量中各项均用分 号(;)隔开。3 .反馈系统结构图模型设反馈系统结构图如图7-5所示。I 仲)图7-5反馈系统结构图控制系统工具箱中提供了 feedback()函数,用来求取反馈连接下总的系统模型,该函 数调用格式如下:G=feedback(Gl, G2, sign);(7-10)其中变量sign用来表示正反馈或负反馈结构,若Sign=-I表示负反馈系统的模型,若 省略sign变量,则仍将表示负反馈结构。Gl和G2分别表示前向模型和反馈模型的LTI

13、 (线 性时不变)对象。例7-5若反馈系统图7-5中的两个传递函数分别为:Gl (S) =7 G、(5)=(s + l)2s I则反馈系统的传递函数可由下列的MTLB命令得出 Gl=tf(l, 1,2,1);G2=tf(l, 1,1);G=feedback(Gl,G2)运行结果:Transfer function:s3 + 3 s2 + 3 s + 2若采用正反馈连接结构输入命令 G=feedback(Gl,G2,1)则得出如下结果:Transfer function:s + 1s3 + 3s2 + 3s例7-6若反馈系统为更复杂的结构如图7-6所示。其中- HQ 下键入Simulink命令,

14、回车后即可启动Simulink程序。启动后软件自动打开Simullink模型库窗口,如图7-7所示。这一模型库中含有许多子模型库,如SOUrCeS(输入源模块库)、 SinkS(输出显示模块库)、Nonlinear(非线性环节)等。若想建立一个控制系统结构框图,则 应该选择File I New菜单中的Model选项,或选择工具栏上new Model 口按钮,打开一个 空白的模型编辑窗口如图7-8所示。Do 1【I T4xl*t图7-7 Simulink模型库图7-8模型编辑窗口(2)画出系统的各个模块:打开相应的子模块库,选择所需要的元素,用鼠标左键点中后拖 到模型编辑窗口的合适位置。(3)给

15、出各个模块参数:由于选中的各个模块只包含默认的模型参数,如默认的传递函数模 型为l(s+D的简单格式,必须通过修改得到实际的模块参数。要修改模块的参数,可 以用鼠标双击该模块图标,则会出现一个相应对话框,提示用户修改模块参数。(4)画出连接线:当所有的模块都画出来之后,可以再画出模块间所需要的连线,构成完整 的系统。模块间连线的画法很简单,只需要用鼠标点按起始模块的输出端(三角符号), 再拖动鼠标,到终止模块的输入端释放鼠标键,系统会自动地在两个模块间画出带箭头 的连线。若需要从连线中引出节点,可在鼠标点击起始节点时按住Ctrl键,再将鼠标 拖动到目的模块。(5)指定输入和输出端子:在Sini

16、ulink下允许有两类输入输出信号,第一类是仿真信号, 可从SOUrCe(输入源模块库)图标中取出相应的输入信号端子,从Sink (输出显示模块库) 图标中取出相应输出端子即可。第二类是要提取系统线性模型,则需打开ConneCtiOn(连 接模块库)图标,从中选取相应的输入输出端子。例7-9典型二阶系统的结构图如图7-9所示。用Simulink对系统进行仿真分析。图7-9典型二阶系统结构图(1) 按前面步骤,启动Simulink并打开一个空白的模型编辑窗口。(2) 画出所需模块,并给出正确的参数: 在sources子模块库中选中阶跃输入(SteP)图标,将其拖入编辑窗口,并用鼠标 左键双击该图

17、标,打开参数设定的对话框,将参数step time(阶跃时刻)设为0。 在Math(数学)子模块库中选中加法器(SUm)图标,拖到编辑窗口中,并双击该图 标将参数List of SignS(符号列表)设为|+-(表示输入为正,反馈为负)。 在COntinUOUS (连续)子模块库中、选积分器(Integrator)和传递函数(TranSferFCn)图标拖到编辑窗口中,并将传递函数分子(NUInerator)改为(900),分母 (Denominator)改为(1,9)。在SirIkS (输出)子模块库中选择SCOPe (示波器)和OUtl (输出端口模块)图标并将之 拖到编辑窗口中。(3)将

18、画出的所有模块按图7-9用鼠标连接起来,构成一个原系统的框图描述如图7-10 所示。图7-10二阶系统的Simulink实现(4)选择仿真算法和仿真控制参数,启动仿真过程。 在编辑窗口中点击Simulation Simulation parameters菜单,会出现一个参数对话框, 在solver模板中设置响应的仿真范围StartTime(开始时间)和StOPTinIe(终止时间), 仿真步长范围Maxinum step size (最大步长)和Mininum step size (最小步长)。对于 本例,StopTime可设置为2。最后点击SimulationlStart菜单或点击相应的热键

19、启动 仿真。双击示波器,在弹出的图形上会实时地显示出仿真结果。输出结果如图7-11 所示。在命令窗口中键入Whos命令,会发现工作空间中增加了两个变量一一tout和yout,这 是因为Simulink中的OUtl模块自动将结果写到了 MATLAB的工作空间中。利用MATLAB命 令plot (tout, yout),可将结果绘制出来,如图7-12所示。比较7-11和7T2,可以发现这 两种输出结果是完全一致的。图7-11仿真结果示波器显示图7-12 MATLAB命令得出的系统响应曲线73.2利用MATLAB进行时域分析1 .线性系统稳定性分析线性系统稳定的充要条件是系统的特征根均位于S平面的左

20、半部分。系统的零极点模 型可以直接被用来判断系统的稳定性。另外,MATLAB语言中提供了有关多项式的操作函数, 也可以用于系统的分析和计算。(1)直接求特征多项式的根设p为特征多项式的系数向量,则MATLAB函数roots。可以直接求出方程p=0在复数 范围内的解V,该函数的调用格式为:v=roots(p)(7-13)例7-10已知系统的特征多项式为:x5 + 3x3 + 2x2+x+1特征方程的解可由下面的MATLAB命令得出。 p=l,0, 3, 2,1,1;v=roots(p)结果显示:O. 3202 + 1. 7042 iO. 3202 - 1. 7042 i-O.7209O. 040

21、2 + O. 6780iO. 0402 - O. 6780i利用多项式求根函数roots。,可以很方便的求出系统的零点和极点,然后根据零极点 分析系统稳定性和其它性能。(2)由根创建多项式如果已知多项式的因式分解式或特征根,可由IATLAB函数poly()直接得出特征多项式 系数向量,其调用格式为:p=poly(v)(7-14)如上例中:V=0. 3202+1. 7042i;0. 3202-1. 7042i ;-0. 7209;0. 0402+0. 6780i ; 0. 04020. 6780i; p=poly(v)结果显不P =1. 0000-0. 00003. 00002. 00001.

22、00001. 0000由此可见,函数roots()与函数POly()是互为逆运算的。(3)多项式求值在MATLAB中通过函数p。IyVaI ()可以求得多项式在给定点的值,该函数的调用格式为:poIyval (p,v)(7-15)对于上例中的P值,求取多项式在X点的值,可输入如下命令: p=l,0, 3, 2,1,1;x=lpolyval(p, x)结果显示ans =8部分分式展开考虑下列传递函数:M(S) UUrn如+ bxs wl + + bnN(S) den os + qs d + + an式中4 W 0,但是勾和与中某些量可能为零。M( S)MATLAB函数可将工 J 展开成部分分式,

23、直接求出展开式中的留数、极点和余项。该 MS)函数的调用格式为:r,p,后=residue(nun, deri)(7-I6)则必JI的部分分式展开由下式给出:MS)“(,)- 小)+ r(2)r(n) I I I+ 由此可得出部分分式展开式:一 6 一4 ZG(5)= - + + +2$ + 3 s+ 2 s !该函数也可以逆向调用,把部分分式展开转变回多项式3 00000. 0000 0000之比的形式,命令格式为: MS)num, den=residue(r, p, k)(7-17)对上例有: num, den=residue(r, p, k)结果显示num-2. OOOO 5. 0000 3. 0000 6. 0000den=1.0000 6.0000 11.0000 6.0000应当指出,如果p(j)=p(j+D=p(j+m-1),则极点p(j)是一个m重极点。在这种情况 下,部分分式展开式将包括下列诸项:rj a r(y + l) + . .

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号