《英才学院自动控制原理实验教案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.5l02 -0123456Tne(sec)图74动态响应时域图程序运行后会在一个新的窗口中显示出系统的时域动态响应曲线,如图7-4o用鼠标左 键点击动态响应曲线的某一点,系统会提示其响应时间和幅值。按住左键在曲线上移动鼠标 的位置可以很容易的根据幅值观察出上升时间、调节时间、峰值及峰值时间,进而求出超调 量。如果想求根轨迹,可将程序的第三行变为rlocus(num, den),求伯德图可改为
8、bode (num, den) 所不同的是,在根轨迹和伯德图中,G(s)为开环传递函数。MATLAB的语法规则类似于C语言,变量名、函数名都与大小写有关,即变量A和a是 两个完全不同的变量。应该注意所有的函数名均由小写字母构成。MATLAB是一个功能强大的工程应用软件,它提供了相当丰富的帮助信息,同时也提供 了多种获得帮助的方法。如果用户第一次使用MATLAB,则建议首先在提示符下键入DEMO 命令,它将启动MATLAB的演示程序。用户可以在此演示程序中领略MATLAB所提供的强大的 运算和绘图功能。7.2 MATLAB基本操作命令本节简单介绍与本书内容相关的一些基本知识和操作命令。7.2.1
9、 简单矩阵的输入MATLAB是一种专门为矩阵运算设计的语言,所以在MATLAB中处理的所有变量都是矩阵。 这就是说,MATLAB只有一种数据形式,那就是矩阵,或者数的矩形阵列。标量可看作为1 Xl的矩阵,向量可看作为nl或IXn的矩阵。这就是说,MATLAB语言对矩阵的维数及类 型没有限制,即用户无需定义变量的类型和维数,MATLAB会自动获取所需的存储空间。输入矩阵最便捷的方式为直接输入矩阵的元素,其定义如下:(1) 元素之间用空格或逗号间隔:(2) 用中括号()把所有元素括起来:(3) 用分号(:)指定行结束。例如,在MATLAB的工作空间中,输入: a= 2 3 4:5 6 9则输出结果
10、为: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文件产生
11、矩阵:(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语句的常用格式为:变量=表达式;或简化为:表达式;表达式可以由操作符、特殊符号
12、、函数、变量名等组成。表达式的结果为一矩阵,它赋 给左边的变量,同时显示在屏幕上。如果省略变量名和=号,则MATLAB自动产生一个 名为ans的变量来表示结果,如I:1900/81结果为:ans =23.4568ans是MATLAB提供的固定变量,具有特定的功能,是不能由用户清除的。常用的固定 变量还有eps、pi、Inf. NaN等。其特殊含义可以用7. 2. 10节介绍的方法查阅帮助。MTB允许在函数调用时同时返回多个变量,而一个函数又可以由多种格式进行调用, 语句的典型格式可表示为:返回变量列表=fun - name (输入变量列表)例如用bode()函数来求取或绘制系统的Bode图,可
13、由下面的格式调用:mag, phase = bode(num, den, W)其中变量num、den表示系统传递函数分子和分母,W表示指定频段,mag为计算幅值, phase为计算相角。7.2.4 语句以旷开始和以分号:结束的特殊效用在MATLAB中以旷开始的程序行,表示注解和说明。符号旷类似于C+中的zV/。这些注解和说明是不执行的。这就是说,在MATLAB程序行中,出现旷以后的一切内容 都是可以忽略的。分号用来取消打印,如果语句最后一个符号是分号,则打印被取消,但是命令仍在执行, 而结果不再在命令窗口或其它窗口中显示。这一点在M文件中大量采用,以抑制不必要的信 息显不。7.2.5 获取工作
14、空间信息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.
15、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 (长格式)forma