课件其他自动控制理论chap_第1页
课件其他自动控制理论chap_第2页
课件其他自动控制理论chap_第3页
课件其他自动控制理论chap_第4页
课件其他自动控制理论chap_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第一节 MATLAB简介 MATLAB是Matrix Laboratory的缩写,原先是用来提供通往LINPACK和EISPACK矩阵软件包接口。在欧美高等院校,MATLAB已经成为应用代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等课程的基本教学工具,成为学生必须掌握的基本技能。一、用户目录的建立缺省目录是C:MATLABR6p5work建立一个新目录,如:c:mywork在MATLAB指令窗中输入:cd c:mywork指令执行后,c:mywork 成为当前工作目录。以MATLAB 6.5为例 二、MATLAB的在线帮助点击MATLAB工作窗的【help】菜单在工

2、作窗中输入help指令该菜单包括按字母排序的指令索引表和按内容排列的分类索引表想进一步了解某函数的使用规则,可以在help后面再输入该函数名。例如:help sin第二节 MATLAB基本语法 表10-1 常 用 操 作 键键 名作 用键 名作 用前寻式调回已输入过的指令行Home使光标移到当前行的首端后寻式调回已输入过的指令行End使光标移到当前行的尾端在当前行中左移光标Delete删去光标右边的字符在当前行中右移光标Backspace删去光标左边的字符PageUp前寻式翻阅当前窗中的内容Esc清除当前行的全部内容PageDown后寻式翻阅当前窗中的内容一. 语 句 MATLAB语句有两种最

3、常见的形式: (1)表达式 (2)变量 = 表达式 表达式由算符、函数、变量名和数字构成。形式(1)中,表达式被执行后产生的结果自动赋给名为“ans”的变量,并显示在屏幕上。形式(2)中,等号右边表达式的值被赋给等号左边的变量后放入内存,并显示在屏幕上。 二. 变 量MATLAB变量名(或函数名)以一个字母打头,后面最多可接19个字母或数字。字母的大小写意义不同。想查看内存中已有变量的名称,用who指令查看变量的详细情况,可用whos指令永久变量:eps;pi;inf或Inf;i,j三. 数 值 采用习惯的十进制表示,可以带小数点或负号,复数用i或j表示。例: 4 , -17 , 0.876

4、1.23e-7 , 2.34+5.67i四. 字符与字符串字符串用单引号界定,字符以ASCII码存储可用方括号进行合并,如:x=abcd;y=x,efgh执行后y =abcdefgh五. 运算符和特殊算符(1) 算术运算符(2)关系运算符(3)逻辑运算符(4)特殊算符 运算优先权从高到低依次为算术运算、关系运算、逻辑运算1 算术运算符数值运算包括矩阵运算和数组运算两大类矩阵运算是指按矩阵运算法则进行的运算数组运算则是针对元素逐个进行的矩阵运算的算符有:+,-,* ,/右除,左除,乘方,转置数组运算的算符由相应矩阵运算符的前面加“.”构成,如:A .+ B2 关系运算符3 逻辑运算符关系运算仅对

5、数组进行 运算符有:,=,=, =逻辑运算符有三个: & 与 ; | 或 ; 非4 特殊算符(1)“,”:用作“”中矩阵元素间的分隔符;用作指令与指令间的分隔符;用在指令后时,该指令执行后的结果将显示在屏幕上。(2)“;”:用在“”中作矩阵行间的分隔符;用作指令与指令间的分隔符;用在指令后时,该指令执行后的结果将不显示在屏幕上。(3)“:”:用于生成行向量,格式为: x = N1:dn:N2。执行后生成行向量x=N1,N1+dn,N1+2dn,N1+kdn。dn=1时,略为:x = N1:N2 在表示子矩阵时,冒号用于代表一整行或一整列。 特殊算符(续)(4)“”:用于将长指令分行书写。指令后

6、跟有“”时,表示下一行是本行的继续。(5)“%”:用于引导MATLAB程序中的注释行。(6)“”:用于界定矩阵,为空阵。还可用于字符串合并。(7)“()”:用于表示矩阵的元素或子矩阵。六 矩阵和多项式的形成矩阵的维数大小不必事先定义创建方法有多种:直接输入、利用矩阵编辑器、利用MATLAB函数、利用程序文件(M文件)、数据文件(MAT文件)。直接输入法规则为:以方括号为矩阵的首尾;行与行之间必须用分号或回车键隔离;元素间必须用逗号或空格分隔。【例10-1】 创建矩阵 a = 解 键盘输入 a = 1,2,3;4,5,6;7,8,9或 a = 1 2 3 4 5 6 7 8 9 多项式P(x)=

7、a0 xn+a1xn-1+an-1x+a用 P=a0 a1an-1 an表示,P可直接输入,也可以由矩阵生成。用矩阵生成P时,调用指令P=poly(AR)若AR是方阵,则P为AR的特征多项式;若AR=ar1 ar2arn,则生成多项式 P=(x-ar1)(x-ar2)(x-arn) =a0 xn+a1xn-1+an-1x+an 求多项式P的特征根时,可用指令x=roots(P)。 将传递函数分解成部分分式时可用指令r,p,k=residue(b,a),其中,b、a分别是分子分母多项式系数向量,r、p、k分别是留数、极点、常数项。 【例10-2】求传递函数 的特征根并分解成部分分式。 解: b=

8、1 2; a=1 4 3; x=roots(a) r,p,k=residue(b,a) 第三节 MATLAB程序设计程序文件的后缀为“.m”,称为M文件在指令窗中选中【File】的“NEW”,从下拉菜单中点击“M-file”,打开编辑窗口,依次输入相关指令并保存,即得到M文件M文件有命令文件和函数文件两种形式命令文件只是一组相关指令的集合函数文件的第一条可执行语句是以function引导的定义语句MATLAB的基本程序结构有顺序、循环和分支三种。实现循环:for-end和while-end实现分支:if-else-then。 注意,else子句中可嵌套if语句,形成elseif结构,以实现多路

9、选择。MATLAB函数文件的调用格式为:输出参数1,输出参数2, = 函数名(输入参数1, 输入参数2,)【例10-4】 设计函数文件statis.m统计矩阵a = 0,1,-2,-3,4,5,-6,7中正数、负数和零的个数。解 (1)建立函数文件statis.mfunction p,m,z=statis(a)p=0;m=0;z=0;for i=1:8if a(i)0 p=p+1; elseif a(i)0 m=m+1; else z=z+1; endend (2)调用函数文件 a = 0,1,-2,-3,4,5,-6,7;p,m,z=statis(a)第四节 控制系统分析 Control T

10、oolbox 的应用 一 控制系统的表示 在MATLAB中,控制系统可用三种模型表示。 1传递函数模型 对传递函数 MATLAB用分子分母的系数行向量表示 numb0,b1,bm; dena0,a1,an; 2零极点增益模型 对零极点形式的传递函数 MATLAB用z,p,k矢量组表示,即 zz1,z2,zm; pp1,p2,pn; kk; 3状态空间模型 对状态空间描述 MATLAB用(a,b,c,d)矩阵组表示。二 控制系统工具箱 使用MATLAB的“Help”指令或【help】菜单,可查阅所有的控制系统工具箱函数。表10-3列出部分常用的函数。三 应用举例 【例10-5】 已知两个系统 试

11、求将其分别串联、并联连接时的系统传递函数,并求负反馈连接时系统的零极点增益模型。解 系统的串、并联和反馈连接用series、parallel和feedback函数实现,再用tf2zp函数实现传递函数模型到零极点模型的转换。 num1=1;den1=1,0;num2=1;den2=1,2; numc,denc=series(num1,den1,num2,den2) numb,denb=parallel(num1,den1,num2,den2) numf,denf=feedback(num1,den1,num2,den2) z,p,k=tf2zp(numf,denf) 【例10-6】 典型二阶系统

12、 试绘制出:(1)n=8,分别取0.1,0.3,0.5,0.7,1.0,2.0时的单位阶跃响应;(2) =0.707,n分别取2,4,6,8,10,12时的单位脉冲响应。 解 用zeta表示,n用wn表示。wn=8;num=wn2;zeta=0.1:0.2:0.7,1.0,2.0;figure(1)hold onfor i=1:6 den=1,2*zeta(i)*wn,wn2; step(num,den)endtitle(Step Response)hold offzeta=0.707;wn=2:2:12;figure(2)hold onfor j=1:6 num=wn(j)2; den=1,

13、2*zeta*wn(j),wn(j)2; impulse(num,den)endtitle(Impulse Response)hold off 【例10-7】 已知系统开环传递函数为 绘制闭环系统的根轨迹,并确定根轨迹与实轴交点处的增益k。解 利用rlocus函数可绘制出闭环系统的根轨迹,利用rlocfind函数可找出根轨迹上任一点处的增益。 k=1;z=;p=0,-3,-1+i,-1-i;num,den=zp2tf(z,p,k);rlocus(num,den);title(Root Locus)k,p=rlocfind(num,den) 程序执行时先画出根轨迹,并出现十字光标,当将十字光标放

14、在根轨迹分离点处并点击后,在MATLAB指令窗中显示此点的增益值及此时的所有极点值。 【例10-8】 典型二阶系统 n=8,绘制出分别取0.1,0.3,0.5,0.7,1.0时Bode图。解 bode函数可绘出系统的精确Bode图。wn=8;zeta=0.1:0.2:0.7,1.0;figure(1)hold on for i=1:5 num=wn2; den=1,2*zeta(i)*wn,wn2; grid on bode(num,den)endgtext(0.1)gtext(1.0)hold off gtext函数可在程序运行后将文本内容注到图形上选定位置。grid on命令可绘制坐标网格

15、。 【例10-9】 离散系统脉冲传递函数为 绘制出系统的Nyquist图,判断闭环系统的稳定性,并由闭环系统的单位阶跃响应验证。 解: num=0.632;den=1,-1.368,0.568;dnyquist(num,den,0.1)title(Discrete Nyquist Plot)figure(2)numc,denc=cloop(num,den);dstep(numc,denc)title(Discrete Step Response) 由运行结果可看出,Nyquist曲线按顺时针方向包围(-1,j0)点两圈,而开环系统的极点都位于单位圆内,因此闭环系统不稳定。闭环系统单位阶跃响应曲

16、线的发散验证了这一点。第五节 控制理论仿真 Simulink 的应用 MATLAB的Simulink是实现动态系统建模、仿真的一个集成环境,实现了可视化建模。在Windows视窗里,用户通过简单的鼠标操作就可建立起直观的系统模型并进行仿真,将理论研究和工程实现有机地结合在了一起。 一 Simulink功能简介1模型创建 在MATLAB命令窗口中运行“simulink”指令, 打开Simulink模块库窗口,点击其中的“新建”图标,出现建模窗口“Untitled”。从模块库中选择所需的模块,按住鼠标左键拖入建模窗口后松开,即建立该模块。 按照模块之间的关系,用鼠标任一键点击前一模块的输出端,看到

17、光标变为(+)以后,拖动十字图符到下一模块的输入端,然后释放鼠标,即可将模块连接在一起。为使图形整齐,可使用折线连接。拖动鼠标到适当位置后松开,再按下鼠标改变方向拖动到适当位置,就生成折线。 建模窗口中的模块可移动、删除和拷贝。2仿真操作 模型创建完成后,可双击该模块打开模块属性窗口,修改模块的内部参数。模块的标题也可修改:用鼠标单击标题,使之增亮反显,输入新的名称,然后用鼠标在窗口任一地方点一下。 在【Simulation】菜单中选取【Parameters】命令,打开算法和参数控制面板,可对算法、仿真的起止时间、积分步长、允许误差等进行设置。 当参数调整合适后,点击建模窗口中【Simulat

18、ion】菜单的【Start】命令即启动仿真过程,在选中的输出设备上看到仿真结果。3模型保存 构造好的模型可起名存盘。在建模窗口中点击【File】菜单的【Save】命令,填入文件名,便完成模型的保存。 在MATLAB指令窗中直接键入模型文件名字,会打开已存在的该模型的方框图窗口,对它进行编辑、修改和仿真。 在模块库窗口中,点击“打开”图标也可打开已存在的模型。 模型文件名可用于MATLAB函数中,以对模型做进一步的分析。二 控制系统仿真实例 首先,建立用于分析的控制系统模型。由两个传递函数模块“Transfer Fcn”、一个输入信号模块阶跃信号“Step”、一个输出模块示波器“Scope”和一个相加点模块“Sum”构成一个闭环控制系统。 启动系统仿真, 双击“示波器”打开示波器窗口,观察“示波器”中的波形, 可研究系统的时域性能:(1)暂态性能。 为考察系统暂态性能指标受阻尼比变化的影响,将“传递函数1”设定为比例1,双击“传递函数2”,修改其分母多项式为“0.04s2+0.4*s”的形式,其中代表系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论