MATLAB与控制系统仿真课件

上传人:我*** 文档编号:145239522 上传时间:2020-09-18 格式:PPT 页数:52 大小:416.50KB
返回 下载 相关 举报
MATLAB与控制系统仿真课件_第1页
第1页 / 共52页
MATLAB与控制系统仿真课件_第2页
第2页 / 共52页
MATLAB与控制系统仿真课件_第3页
第3页 / 共52页
MATLAB与控制系统仿真课件_第4页
第4页 / 共52页
MATLAB与控制系统仿真课件_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《MATLAB与控制系统仿真课件》由会员分享,可在线阅读,更多相关《MATLAB与控制系统仿真课件(52页珍藏版)》请在金锄头文库上搜索。

1、MATLAB与控制系统仿真,机械工程分院测控教研室,控制工程基础上机辅导,MATLAB作为线性系统的一种分析和仿真工具,是理工科大学生应该掌握的技术工具,它作为一种编程语言和可视化工具,可解决工程、科学计算和数学学科中许多问题。,MATLAB建立在向量、数组和矩阵的基础上,使用方便,人机界面直观,输出结果可视化。,矩阵是MATLAB的核心,1、变量 MATLAB中变量的命名规则是: (1)变量名必须是不含空格的单个词; (2)变量名区分大小写; (3)变量名最多不超过19个字符; (4)变量名必须以字母打头,之后可以是任意字母、数字或下划线,变量名中不允许使用标点符号.,一、变量与函数,2、数

2、学运算符号及标点符号,(1)MATLAB的每条命令后,若为逗号或无标点符号,则显示命令的结果;若命令后为分号,则禁止显示结果. (2)“%” 后面所有文字为注释. (3) “.”表示续行.,3、数学函数,4、M文件,M文件建立方法: 1. 在Matlab中,点:File-New-M-file 2. 在编辑窗口中输入程序内容 3. 点:File-Save,存盘,M文件名必须与函数名一致。,Matlab的应用程序也以M文件保存。,MATLAB工作界面,MATLAB编辑窗口,程序控制语句,循环语句 MATLAB中的循环语句包括for循环和while循环两种。 for循环的基本格式为: for 循环变

3、量=起始值:步长:终止值 循环体 end 步长的缺省值是1。步长可以在正实数或负实数范围内任意指定,对于正数,循环变量的值大于终止值时,循环结束;对于负数,循环变量的值小于终止值时,循环结束。,程序控制语句,while循环的基本格式为: while 表达式 循环体 end 若表达式为真,则执行循环体的内容,执行后再判断表达式是否为真,若为假则跳出循环体,向下继续执行,否则继续执行循环体。 break:从循环体中跳出,并使循环结束,程序控制语句,ifelseelseif语句 if格式: if 逻辑表达式 执行语句 end 当逻辑表达式的值为真,则执行该结构中的执行语句内容,执行完后向下继续执行,

4、若逻辑表达式的值为假,跳过结构中的执行语句继续向下执行。,程序控制语句,if-else格式 if 逻辑表达式 执行语句1 else 执行语句2 end 逻辑表达式的值为真则执行语句1,若逻辑表达式的值为假,则跳过执行语句1而执行语句2,然后向下执行。,程序控制语句,if-elseif格式 if 逻辑表达式1 执行语句1 elseif 逻辑表达式2 执行语句2 elseif 逻辑表达式n 执行语句n else 执行语句el end 如果逻辑表达式的值为真,则执行语句1,若逻辑表达式的值为假,则判断逻辑表达式2的值,若为真,则执行语句2,否则向下执行,若所有表达式均为假,执行语句el 。,程序控制

5、语句,switch语句 switch语句的格式为: switch 表达式(标量或字符串) case 值1 语句1 case 值2 语句2 case 值n 语句n otherwise 语句ow end 表达式的值和哪种情况(case)的值相同,就执行哪种情况中的语句,如果都不同,则执行otherwise中的语句。,MATLAB程序编写及调试,MATLBA程序设计基本原则: 后面的内容是程序的注解,要善于运用注解使程序更具可读性。 养成在主程序开头用clear指令清除变量的习惯,以消除工作空间中其他变量对程序运行的影响。但注意在子程序中不要用clear。 参数值要集中放在程序的开始部分,以便维护。

6、要充分利用MATLAB工具箱提供的指令来执行所要进行的运算,在语句行之后输入分号使其及中间结果不在屏幕上显示,以提高执行速度。,MATLBA程序设计基本原则,程序尽量模块化,也就是采用主程序调用子程序的方法,将所有子程序合并在一起来执行全部的操作。 充分利用Debugger来进行程序的调试(设置断点、单步执行、连续执行) 设置好MATLAB的工作路径,以便程序运行。,图形绘制,图形绘制 图形标注 图形控制,plot(x,y),plot(y),plot(x1,y1,option1,x2,y2,option2,),plot控制,功能:在调用函数plot时,可以指定线型,颜色,和数据点的图标。 格式

7、:plot(x,y,color_linestyle_marker) 说明:参数color_linestyle_marker 为一个字符串,由颜色、线型、数据点的图标组成。,图形加注功能,将标题、坐标轴标记、网格线及文字注 释加注到图形上,这些函数为: title 给图形加标题 xlable 给x轴加标注 ylable 给y轴加标注 text 在图形指定位置加标注 gtext 将标注加到图形任意位置 grid on(off) 打开、关闭坐标网格线 legend 添加图例 axis 控制坐标轴的刻度,例:t=0:0.1:10 y1=sin(t);y2=cos(t);plot(t,y1,r,t,y2

8、,b-); x=1.7*pi;1.6*pi; y=-0.3;0.8; s=sin(t);cos(t); text(x,y,s); title(正弦和余弦曲线); legend(正弦,余弦) xlabel(时间t),ylabel(正弦、余弦) grid axis square,axis的用法还有: axis(xmin xmax ymin ymax) 用行向量中 给出的值设定坐标轴的最大和最小值。 如axis (-2 2 0 5) axis(equal) 将两坐标轴设为相等 axis on(off) 显示和关闭坐标轴的标 记、标志 axis auto 将坐标轴设置返回自动缺 省值,线性和颜色字符定

9、义表,图形绘制,图形绘制 图形标注 图形控制,text(x,y,字符串) gtext(字符串) title(字符串) xlabel(字符串),ylabel(字符串),图形绘制,图形绘制 图形标注 图形控制,figure(1);figure(2);figure(n) grid on; grid off hold on; hold off axis(xmin xmax ymin ymax) subplot(mnk) semilogx;semilogy,subplot 子图分割命令 调用格式: subplot(m,n,p) 按从左至右, 从上至下排列,单窗口多曲线分图绘图,绘图一般步骤,准备绘图需要

10、的数据; 指定绘图的窗口或者区域; 调用基本绘图命令; 选择线型、颜色、数据点形状; 坐标轴控制,包括显示范围、刻度线、比例、网格线; 标注控制,包括坐标轴名称、标题、相应文本等。,Simulink的操作,控制系统的时域分析,求取系统单位阶跃响应:step() 求取系统的冲激响应:impulse(),控制系统的频域分析,求取系统对数频率特性图(波特图):bode() 求取系统奈奎斯特图:nyquist(),margin:求幅值裕度和相角裕度及对应的转折频率 freqs:模拟滤波器特性 nichols:求连续系统的尼科尔斯频率响应曲线(即对数幅相曲线) ngrid:尼科尔斯方格图,根轨迹分析函数

11、,pzmap:绘制线性系统的零极点图 rlocus:求系统根轨迹。 rlocfind:计算给定一组根的根轨迹增益。 sgrid:在连续系统根轨迹图和零极点图中绘制出阻尼系数和自然频率栅格。,控制系统的数学描述与建模,控制系统的数学模型在控制系统的研究中有着相当重要的地位,要对系统进行仿真处理,首先应当知道系统的数学模型,然后才可以对系统进行模拟。同样,如果知道了系统的模型,才可以在此基础上设计一个合适的控制器,使得系统响应达到预期的效果,从而符合工程实际的需要。 在线性系统理论中,一般常用的数学模型形式有:传递函数模型(系统的外部模型)、状态方程模型(系统的内部模型)、零极点增益模型和部分分式

12、模型等。这些模型之间都有着内在的联系,可以相互进行转换。,传递函数描述,对线性定常系统,式中s的系数均为常数,且a1不等于零,这时系统在MATLAB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量分别用num和den表示。 num=b1,b2,bm,bm+1 den=a1,a2,an,an+1 注意:它们都是按s的降幂进行排列的。,连续系统的传递函数模型 连续系统的传递函数如下:,传递函数,MATLAB中创建传递函数(TF)对象 创建两个行向量,按降阶顺序分别包含分子和分母多项式中s各次幂的系数 使用tf命令建立TF对象 例如: numG=4 3;denG=1 6 5; G

13、1=tf(numG,denG) 或 G1=tf(4 3,1 5 6),零极点增益模型,零极点模型实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分子、分母进行分解因式处理,以获得系统的零点和极点的表示形式。,在MATLAB中零极点增益模型用z,p,K矢量组表示。即: z=z1,z2,zm p=p1,p2,.,pn K=k 函数tf2zp()可以用来求传递函数的零极点和增益。,K为系统增益,zi为零点,pj为极点,零极点增益模型,零点、极点、增益形式(ZPK)表示 输入零点和极点列向量及标量形式的增益 使用zpk命令建立ZPK对象 例: zG=-0.75;pG=-1;-5;k

14、G=4; G2=zpk(zG,pG,kG) 或者: G2=zpk(-0.75,-1;-5,4),传递函数,两种形式互换 TF形式变换为ZPK形式 Gzpk=zpk(Gtf) zz,pp,kk=zpkdata(Gzpk,v) %获得G(s)的零点、极点和增益 ZPK形式变换为TF形式 Svv=tf(Sxx) nn,dd=tfdata(Svv,v) %获得分子分母多项式系数,部分分式展开,控制系统常用到并联系统,这时就要对系统函数进行分解,使其表现为一些基本控制单元的和的形式。 resG,polG,otherG=residue(numG,denG) resG留数 polG极点 otherG 常数函

15、数r,p,k=residue(b,a)对两个多项式的比进行部分展开,以及把传函分解为微分单元的形式。 向量b和a是按s的降幂排列的多项式系数。部分分式展开后,余数返回到向量r,极点返回到列向量p,常数项返回到k。 b,a=residue(r,p,k)可以将部分分式转化为多项式比p(s)/q(s)。,举例:传递函数描述,1) num=12,24,0,20;den=2 4 6 2 2; 2) 借助多项式乘法函数conv来处理: num=4*conv(1,2,conv(1,6,6,1,6,6); den=conv(1,0,conv(1,1,conv(1,1,conv(1,1,1,3,2,5);,零极

16、点增益模型: num=1,11,30,0; den=1,9,45,87,50; z,p,k=tf2zp(num,den) ,z= 0 -6 -5,p= -3.0000+4.0000i -3.0000-4.0000i -2.0000 -1.0000,k= 1,结果表达式:,部分分式展开: num=2,0,9,1; den=1,1,4,4; r,p,k=residue(num,den) ,p= 0.0000+2.0000i 0.0000-2.0000i -1.0000,k= 2,r= 0.0000-0.2500i 0.0000+0.2500i -2.0000,结果表达式:,应用MATLAB进行时域分析,1. 应用MATLAB分析系统的稳定性 在MATLAB中,可利用pzmap函数绘制连续的零、极点图,也可以利用tf2zp函数求出系统的零、极点,从而判断系统的稳定性。,【例1】 已知连续系统的传递函数为,要求: (1) 求出该系统的零、

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号