欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

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

    • 资源ID:395503       资源大小:423.65KB        全文页数:49页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    自动控制原理第7章控制系统的模拟试验与MATLAB仿真7.1 MATLAB 简介MATLAB是Mathworks公司开发的一种集数值计算、符号计算和图形可视化三大基本功 能于一体的功能强大、操作简单的优秀工程计算应用软件。MTLB不仅可以处理代数问题 和数值分析问题,而且还具有强大的图形处理及仿真模拟等功能。从而能够很好的帮助工程 师及科学家解决实际的技术问题。MATLAB的含义是矩阵实验室(MatriX Laborato”),最初主要用于方便矩阵的存取, 其基本元素是无需定义维数的矩阵。经过十几年的扩充和完善,现己发展成为包含大量实用 工具箱(Toolbox)的综合应用软件,不仅成为线性代数课程的标准工具,而且适合具有不 同专业研究方向及工程应用需求的用户使用。MATLAB最重要的特点是易于扩展。它允许用户自行建立完成指定功能的扩展MATLAB函 数(称为M文件),从而构成适合于其它领域的工具箱,大大扩展了 MATLAB的应用范围。目 前,MATLAB已成为国际控制界最流行的软件,控制界很多学者将自己擅长的CAD方法用 MATLAB加以实现,出现了大量的MATLAB配套工具箱,如控制系统工具箱(COntrOI systems toolbox),系统识别工具箱(SyStem identification toolbox),鲁棒控制工具箱(robust control toolbox),信号处理工具箱(Signal processing toolbox)以及仿真环境 SIMULTNK 等。7.1.1 MATLAB 的安装本节将讨论操作系统为Microsoft Windows环境下安装MATLAB6的过程。将MATLAB6的安装盘放入光驱,系统将自动运行auto-run. bat文件,进行安装:也可 以执行安装盘内的SetUP.exe文件启动MATLAB的安装程序。启动安装程序后,屏幕将显示 安装MATLAB的初始界面,根据Windows安装程序的常识,不断单击Next,输入正确的安装 信息,具体操作过程如下:输入正确的用户注册信息码:选择接收软件公司的协议:输入用户名和公司名:选择 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。桌面平台是各桌面组 件的展示平台,它提供了一系列的菜单操作以及工具栏操作,而不同功能的桌面组件构成了 整个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命令窗口中,标志为命令提示符,在 命令提示符后面键入一个MATLAB命令时,MATLAB会立即对其进行处理,并显示处理结果。这种方式简单易用,但在编程过程中要修改整个程序比较困难,并且用户编写的程序不 容易保存。如果想把所有的程序输入完再运行调试,可以用鼠标点击快捷DI或 FileNewM-file菜单,在弹出的编程窗口中逐行输入命令,输入完毕后点击DCbUglRUn(或 F5)运行整个程序。运行过程中的错误信息和运行结果显示在命令窗口中。整个程序的源代 码可以保存为扩展名为的M文件。在介绍MATLAB的强大计算和图象处理功能前,我们可以先运行一个简单的程序。设系统的闭环传递函数为:求系统的时域响应图,可输入下面的命令:» num=l, 4;den=l, 2, 8;step(num, den)07Step Response0.6System: SySTme (sec 3 7AnoKucte. 0.510.5l<02 -0123456Tne(sec)图74动态响应时域图程序运行后会在一个新的窗口中显示出系统的时域动态响应曲线,如图7-4o用鼠标左 键点击动态响应曲线的某一点,系统会提示其响应时间和幅值。按住左键在曲线上移动鼠标 的位置可以很容易的根据幅值观察出上升时间、调节时间、峰值及峰值时间,进而求出超调 量。如果想求根轨迹,可将程序的第三行变为rlocus(num, den),求伯德图可改为 bode (num, den) 所不同的是,在根轨迹和伯德图中,G(s)为开环传递函数。MATLAB的语法规则类似于C语言,变量名、函数名都与大小写有关,即变量A和a是 两个完全不同的变量。应该注意所有的函数名均由小写字母构成。MATLAB是一个功能强大的工程应用软件,它提供了相当丰富的帮助信息,同时也提供 了多种获得帮助的方法。如果用户第一次使用MATLAB,则建议首先在提示符下键入DEMO 命令,它将启动MATLAB的演示程序。用户可以在此演示程序中领略MATLAB所提供的强大的 运算和绘图功能。7.2 MATLAB基本操作命令本节简单介绍与本书内容相关的一些基本知识和操作命令。7.2.1 简单矩阵的输入MATLAB是一种专门为矩阵运算设计的语言,所以在MATLAB中处理的所有变量都是矩阵。 这就是说,MATLAB只有一种数据形式,那就是矩阵,或者数的矩形阵列。标量可看作为1 Xl的矩阵,向量可看作为n×l或IXn的矩阵。这就是说,MATLAB语言对矩阵的维数及类 型没有限制,即用户无需定义变量的类型和维数,MATLAB会自动获取所需的存储空间。输入矩阵最便捷的方式为直接输入矩阵的元素,其定义如下:(1) 元素之间用空格或逗号间隔:(2) 用中括号()把所有元素括起来:(3) 用分号(:)指定行结束。例如,在MATLAB的工作空间中,输入:» a= 2 3 4:5 6 9则输出结果为:a =2 3 45 6 9矩阵a被一直保存在工作空间中,以供后面使用,直至修改它。MATLAB的矩阵输入方式很灵活,大矩阵可以分成n行输入,用回车符代替分号或用续 行符号()将元素续写到下一行。例如:a = 1, 2, 3:4, 5, 6:7, 8, 9a= 1 2 34 5 67 8 9a= 1,2,3:4,5, 6:7,8, 9以上三种输入方式结果是相同的。一般若长语句超出一行,则换行前使用续行符号()。在MATLAB中,矩阵元素不限于常量,可以采用任意形式的表达式。同时,除了直接输 入方式之外,还可以采用其它方式输入矩阵,如:(1) 利用内部语句或函数产生矩阵:(2) 利用M文件产生矩阵:(3) 利用外部数据文件装入到指定矩阵。7.2.2 复数矩阵输入MATLB允许在计算或函数中使用复数。输入复数矩阵有两种方法:(1) a=12;34+i*56;78(2) a=l+5i 2+6i;3+7i 4+8i注意,当矩阵的元素为复数时,在复数实部与虚部之间不允许使用空格符。如1 +5i 将被认为是1和5i两个数。另外,MATLAB表示复数时,复数单位也可以用j。7.2.3 MATLAB语句和变量MATLAB是一种描述性语言。它对输入的表达式边解释边执行,就象BASIC语言中直接 执行语句一样。MATLAB语句的常用格式为:变量=表达式;或简化为:表达式;表达式可以由操作符、特殊符号、函数、变量名等组成。表达式的结果为一矩阵,它赋 给左边的变量,同时显示在屏幕上。如果省略变量名和=号,则MATLAB自动产生一个 名为ans的变量来表示结果,如I:1900/81结果为:ans =23.4568ans是MATLAB提供的固定变量,具有特定的功能,是不能由用户清除的。常用的固定 变量还有eps、pi、Inf. NaN等。其特殊含义可以用7. 2. 10节介绍的方法查阅帮助。MTB允许在函数调用时同时返回多个变量,而一个函数又可以由多种格式进行调用, 语句的典型格式可表示为:返回变量列表=fun - name (输入变量列表)例如用bode()函数来求取或绘制系统的Bode图,可由下面的格式调用:mag, phase = bode(num, den, W)其中变量num、den表示系统传递函数分子和分母,W表示指定频段,mag为计算幅值, phase为计算相角。7.2.4 语句以旷开始和以分号:结束的特殊效用在MATLAB中以旷开始的程序行,表示注解和说明。符号旷类似于C+中的zV/。这些注解和说明是不执行的。这就是说,在MATLAB程序行中,出现旷以后的一切内容 都是可以忽略的。分号用来取消打印,如果语句最后一个符号是分号,则打印被取消,但是命令仍在执行, 而结果不再在命令窗口或其它窗口中显示。这一点在M文件中大量采用,以抑制不必要的信 息显不。7.2.5 获取工作空间信息MATLAB开辟有一个工作空间,用于存储已经产生的变量。变量一旦被定义,MATLAB系 统会自动将其保存在工作空间里。在退出程序之前,这些变量将被保留在存储器中。为了得到工作空间中的变量清单,可以在命令提示符后输入who或WhOS命令,当 前存放在工作空间的所有变量便会显示在屏幕上。命令clear能从工作空间中清除所有非永久性变量。如果只需要从工作空间中清除某个 特定变量,比如x,则应输入命令clear x7.2.6 常数与算术运算符MATLAB采用人们习惯使用的十进制数。如I:3 -99 0.0001 9.6397238 1.602 IOe- 206.62252e23 2i -3. 14159i 3e5i其中 i= Q o数值的相对精度为eps,它是一个符合IEEE标准的16位长的十进制数,其范围为: 10 划8 10308。MATLAB提供了常用的算术运算符:+, ,* , / ( ),"(哥指数)。应该注意:(/)右除法和()左除法这两种符号对数值操作时,其结果相同,其斜 线下为分母,如1/4与4 1,其结果均为0.25,但对矩阵操作时,左、右除法是有区别的。 7.2.7选择输出格式输出格式是指数据显示的格式,MATLAB提供format命令可以控制结果矩阵的显示,而 不影响结果矩阵的计算和存储。所有计算都是以双精度方式完成的。(1)如果矩阵的所有元素都是整数,则矩阵以不带小数点的格式显示。如输入:X= -101则显示:如果矩阵中至少有一个元素不是整数,则有多种输出格式。常见格式有以下四种:format Short(短格式,也是系统默认格式)format shorte(短格式科学表示)format IOng (长格式)format Iong e(长格式科学表示)如:X= 4/31.2345e- 6对于以上四种格式,其显示结果分别为:X ,1.33330.0000短格式5位表示短格式科学表示X -13333e+ 001.2345e- 06长格式16位表示X =1.333333333333330.00000123450000长格式科学表示X -1.33333333333333 e+ 00 1.23450000(XX)0000e + 06一旦调用了某种格式,则这种被选用的格式将保持,直到对格式进行了改变为止。7.2.8 MATLAB 图形窗口当调用了一个产生图形的函数时,MATLAB会自动建立一个图形窗口。这个窗口还可分 裂成多个窗口,并可在它们之间选择,这样在一个屏上可显示多个图形。图形窗口中的图形可通过打印机打印出来。若想将图形导出并保存,可用鼠标点击菜单 FiIelEXPort,导出格式可选emp、bmp、jpg等。命令窗口的内容也可由打印机打印出来:如 果事先选择了一些内容,则可打印出所选择的内容:如果没有选择内容,则可打印出整个工 作空间的内容。7.2.9 剪切板的使用利用Windows的剪切板可在MATLAB与其它应用程序之间交换信息。(1) 要将MATLAB的图形移到其它应用程序,首先按Alt-Print Screen键,将图形 复制到剪切板中,然后激活其它应用程序,选择Cdit(编辑)中的PaSte(粘贴),就可以 在应用程序中得到MATLAB中的图形。当然还可以借助于copy to Bitmap或copy to Metafile选项来传递图形信息。(2) 要将其它应用程序中的数据传递到MTLB,应先将数据放入剪切板,然后在MATLAB中定义一个变量来接收。如键入: q=然后选择Edit中的PaSte,最后加上“,这样可将应用程序中的数据送入MATLAB 的q变量中。7.2.10 MATLAB编程指南MATLAB的编程效率比BASIC. C、FORTRAN和PASCAL等语言要高,且易于维护。在编写 小规模的程序时,可直接在命令提示符后面逐行输入,逐行执行。对于较复杂且经常重复 使用的程序,可按7.1.3介绍的方法进入程序编辑器编写M文件。M文件是用MATLAB语言编写的可在MATLAB环境中运行的磁盘文件。它为脚本文件 (Script FiIe)和函数文件(FUnCtion FiIe),这两种文件的扩展名都是.叽(1) 脚本文件是将一组相关命令编辑在一个文件中,也称命令文件。脚本文件的语 句可以访问MATLAB工作空间中的所有数据,运行过程中产生的所有变量都是全局变量。例 如下述语句如果以.m为扩展名存盘,就构成了 M脚本文件,我们不妨将其文件名取为 “Step_ Response”。%用于求取一阶跃响应。num=1 4;den=l 2 8;step(num, den)当你键入help Step_Response时,屏幕上将显示文件开头部分的注释: 用于求取一阶跃响应。很显然,在每一个M文件的开头,建立详细的注释是非常有用的。由于MATLAB提供了 大量的命令和函数,想记住所有函数及调用方法一般不太可能,通过联机帮助命令help可 容易地对想查询的各个函数的有关信息进行查询。该命令使用格式为:help命令或函数名注意:若用户把文件存放在自己的工作目录上,在运行之前应该使该目录处在MATLAB 的搜索路径上。当调用时,只需输入文件名,MATLAB就会自动按顺序执行文件中的命令。(2) 函数文件是用于定义专用函数的,文件的第一行是以function作为关键字引导的,后面为注释和函数体语句。函数就像一个黑箱,把些数据送进去,经加工处理,再把结果送出来。在函数体内使 用的除返回变量和输入变量这些在第一行functon语句中直接引用的变量外,其它所有变量 都是局部变量,执行完后,这些内部变量就被清除了。函数文件的文件名与函数名相同(文件名后缀为.m),它的执行与命令文件不同,不能 键入其文件名来运行函数,M函数必须由其它语句来调用,这类似于C语言的可被其它函数 调用的子程序。M函数文件一旦建立,就可以同MATLAB基本函数库一样加以使用。例7-1求一系列数的平均数,该函数的文件名为“mean./function y=mean(x)%这是一个用于求平均数的函数W=Iength(x);% length函数表示取向量X的长度y=sum(x)w;% sun函数表示求各元素的和该文件第一行为定义行,指明是mean函数文件,y是输出变量,x是输入变量,其后 的先开头的文字段是说明部分。真正执行的函数体部分仅为最后二行。其中变量w是局部变 量,程序执行完后,便不存在了。在MATLAB命令窗口中键入» r=l:10;%表示r变量取1到10共10个数mean(r)运行结果显示ans =5.5000该例就是直接使用了所建立的M函数文件,求取数列r的平均数。7.3 MATLAB在控制系统中的应用MATLAB是国际控制界目前使用最广的工具软件,几乎所有的控制理论与应用分支中都 有MATLAB工具箱。本节结合前面所学自控理论的基本内容,采用控制系统工具箱(COntrOI Systems TOolbOX)和仿真环境(SimUlink),学习 MATLAB 的应用。7. 3. 1用MATLAB建立传递函数模型L有理函数模型线性系统的传递函数模型可一般地表示为:C, 、),x * ÷ >,5*l + ÷ 5、F 八G(s) - -!= fi m(7-1)/+。1尸+ - + ejr÷w将系统的分子和分母多项式的系数按降累的方式以向量的形式输入给两个变量num和加,就可以轻易地将传递函数模型输入到MATLAB环境中。命令格式为:num =业也,hm,黑J ;(7-2)(7-3)den- 1,4,生,,JMl ;在UATLAB控制系统工具箱中,定义了 tf()函数,它可由传递函数分子分母给出的变 量构造出单个的传递函数对象。从而使得系统模型的输入和处理更加方便。该函数的调用格式为: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)=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 + 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)(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 - 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 (线 性时不变)对象。例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<O.OI"l ( 、 s ' + 7.va +24 + 24Gl(S) = -;, G2(s)÷lQf,÷35÷50j÷24则闭环系统的传递函数可以由下面的MATLAB命令得出:» Gl=tf(l, 7, 24, 24, 1, 10, 35, 50, 24);G2=tf(10, 5, 1,0);H=tf(l, 0.01, 1);G_a=feedback(Gl*G2, H)得到结果:Transfer function:0. 1 s5 + 10. 75 s4 + 77. 75 s3 + 278.6 s2 + 361.2 s + 1200.01 s6 + 1. 1 s5 + 20. 35 s4 + 110.5 s3 + 325.2 s2 + 384 s + 120图7-6复杂反馈系统4.有理分式模型与零极点模型的转换有了传递函数的有理分式模型之后,求取零极点模型就不是一件困难的事情了。在控制 系统工具箱中,可以由zpk()函数立即将给定的LTl对象G转换成等效的零极点对象Glo该 函数的调用格式为:Gl=zpk(G)(7-11)例7-7给定系统传递函数为:6.8- + 61.2s + 95.2=s" + 7.5? + 22/ + 19.5S对应的零极点格式可由下面的命令得出» num= 6. 8, 61.2, 95. 2;den=l, 7.5, 22, 19.5, 0;G=tf(num, den);Gl=zpk(G)显示结果:Zero/pole/gain:6.8 (s+7) (s+2)s (s+l. 5) (s2 + 6s + 13)可见,在系统的零极点模型中若出现复数值,则在显示时将以二阶因子的形式表示相应 的共辄复数对。同样,对于给定的零极点模型,也可以直接由MATLAB语句立即得出等效传递函数模型。 调用格式为:Gl=tf(G)(7-12)例7-8给定零极点模型:c 、 ,c (s + 2)(S + 7)G(S) = 6.8 -5(5 + 3±J2)(5+ 1.5)可以用下面的MATLAB命令立即得出其等效的传递函数模型。输入程序的过程中要注意 大小写。» Z=-2, -7;P=0, -3-2j,-3+2j,-1.5;G=zpk(Z, P, K);Gl=tf(G)结果显示:Transfer function:6.8 s2 + 61.2 s + 95.2s 4 + 7. 5 s3 + 22 s"2 + 19. 5 s5. Simulink建模方法在一些实际应用中,如果系统的结构过于复杂,不适合用前面介绍的方法建模。在这种 情况下,功能完善的Simulink程序可以用来建立新的数学模型。Simulink是由Math Works 软件公司1990年为MATLAB提供的新的控制系统模型图形输入仿真工具。它具有两个显著的 功能:SimU(仿真)与Link(连接),亦即可以利用鼠标在模型窗口上画出所需的控制系 统模型。然后利用SINfLLINK提供的功能来对系统进行仿真或线性化分析。与MATLAB中逐行 输入命令相比,这样输入更容易,分析更直观。下面简单介绍Simulink建立系统模型的基 本步骤:(1) Simulink的启动:在matlb命令窗口的工具栏中单击按钮族或者在命令提示符>> 下键入Simulink命令,回车后即可启动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)给出各个模块参数:由于选中的各个模块只包含默认的模型参数,如默认的传递函数模 型为l(s+D的简单格式,必须通过修改得到实际的模块参数。要修改模块的参数,可 以用鼠标双击该模块图标,则会出现一个相应对话框,提示用户修改模块参数。(4)画出连接线:当所有的模块都画出来之后,可以再画出模块间所需要的连线,构成完整 的系统。模块间连线的画法很简单,只需要用鼠标点按起始模块的输出端(三角符号), 再拖动鼠标,到终止模块的输入端释放鼠标键,系统会自动地在两个模块间画出带箭头 的连线。若需要从连线中引出节点,可在鼠标点击起始节点时按住Ctrl键,再将鼠标 拖动到目的模块。(5)指定输入和输出端子:在Siniulink下允许有两类输入输出信号,第一类是仿真信号, 可从SOUrCe(输入源模块库)图标中取出相应的输入信号端子,从Sink (输出显示模块库) 图标中取出相应输出端子即可。第二类是要提取系统线性模型,则需打开ConneCtiOn(连 接模块库)图标,从中选取相应的输入输出端子。例7-9典型二阶系统的结构图如图7-9所示。用Simulink对系统进行仿真分析。图7-9典型二阶系统结构图(1) 按前面步骤,启动Simulink并打开一个空白的模型编辑窗口。(2) 画出所需模块,并给出正确的参数: 在sources子模块库中选中阶跃输入(SteP)图标,将其拖入编辑窗口,并用鼠标 左键双击该图标,打开参数设定的对话框,将参数step time(阶跃时刻)设为0。 在Math(数学)子模块库中选中加法器(SUm)图标,拖到编辑窗口中,并双击该图 标将参数List of SignS(符号列表)设为|+-(表示输入为正,反馈为负)。 在COntinUOUS (连续)子模块库中、选积分器(Integrator)和传递函数(TranSferFCn)图标拖到编辑窗口中,并将传递函数分子(NUInerator)改为(900),分母 (Denominator)改为(1,9)。在SirIkS (输出)子模块库中选择SCOPe (示波器)和OUtl (输出端口模块)图标并将之 拖到编辑窗口中。(3)将画出的所有模块按图7-9用鼠标连接起来,构成一个原系统的框图描述如图7-10 所示。图7-10二阶系统的Simulink实现(4)选择仿真算法和仿真控制参数,启动仿真过程。 在编辑窗口中点击Simulation Simulation parameters菜单,会出现一个参数对话框, 在solver模板中设置响应的仿真范围StartTime(开始时间)和StOPTinIe(终止时间), 仿真步长范围Maxinum step size (最大步长)和Mininum step size (最小步长)。对于 本例,StopTime可设置为2。最后点击SimulationlStart菜单或点击相应的热键启动 仿真。双击示波器,在弹出的图形上会实时地显示出仿真结果。输出结果如图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平面的左半部分。系统的零极点模 型可以直接被用来判断系统的稳定性。另外,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. 0402 + 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. 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 展开成部分分式,直接求出展开式中的留数、极点和余项。该 MS)函数的调用格式为:r,p,后=residue(nun, deri)(7-I6)则必JI的部分分式展开由下式给出:MS)“(,)- 小)+ r(2)r(n) I I I+ ' < ÷+ (s)N(s) J-P(I) S-p(2) S式中 P(I)= -P-M2) = -p2, , p(n) = -P",为极点,r(D= -r,r(2)=-",«)二 一,为各极点的留数,&G)为余项。例7-11设传递函数为:2s' + 5 + 3s + 63" s3 + 6s2+ 1 Ij + 6该传递函数的部分分式展开由以下命令获得:» num= 2, 5, 3, 6;den=l, 6,11, 6;r,p,k=residue(num, den)命令窗口中显示如下结果r=p=k=-6.0000-3.00002-4. 0000-2. 00003.0000-1.0000中留数为列向量r,极点为列向量P,余项为行向量k,>由此可得出部分分式展开式:一 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重极点。在这种情况 下,部分分式展开式将包括下列诸项:r<j a r(y + l) + . .

    注意事项

    本文(英才学院自动控制原理实验教案07控制系统的模拟试验与MATLAB仿真.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开