




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 。,程序控制语句,switch语句
5、switch语句的格式为: switch 表达式(标量或字符串) case 值1 语句1 case 值2 语句2 case 值n 语句n otherwise 语句ow end 表达式的值和哪种情况(case)的值相同,就执行哪种情况中的语句,如果都不同,则执行otherwise中的语句。,MATLAB程序编写及调试,MATLBA程序设计基本原则: 后面的内容是程序的注解,要善于运用注解使程序更具可读性。 养成在主程序开头用clear指令清除变量的习惯,以消除工作空间中其他变量对程序运行的影响。但注意在子程序中不要用clear。 参数值要集中放在程序的开始部分,以便维护。要充分利用MATLAB工
6、具箱提供的指令来执行所要进行的运算,在语句行之后输入分号使其及中间结果不在屏幕上显示,以提高执行速度。,MATLBA程序设计基本原则,程序尽量模块化,也就是采用主程序调用子程序的方法,将所有子程序合并在一起来执行全部的操作。 充分利用Debugger来进行程序的调试(设置断点、单步执行、连续执行) 设置好MATLAB的工作路径,以便程序运行。,图形绘制,图形绘制 图形标注 图形控制,plot(x,y),plot(y),plot(x1,y1,option1,x2,y2,option2,),plot控制,功能:在调用函数plot时,可以指定线型,颜色,和数据点的图标。 格式:plot(x,y,co
7、lor_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,b-); x=1.7*
8、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:尼科尔斯方格图,根轨迹分析函数,pzmap:绘制线性系
11、统的零极点图 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; G1=tf(numG,de
13、nG) 或 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;kG=4; G2=zpk(
14、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 常数函数r,p,k=resid
15、ue(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);,零极点增益模型: num=1
16、,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. 应用MATL
17、AB分析系统的稳定性 在MATLAB中,可利用pzmap函数绘制连续的零、极点图,也可以利用tf2zp函数求出系统的零、极点,从而判断系统的稳定性。,【例1】 已知连续系统的传递函数为,要求: (1) 求出该系统的零、 极点及增益; (2) 绘出其零、 极点图, 判断系统稳定性。,num = 3, 2, 5, 4, 6; den = 1, 3, 4, 2, 7, 2; z,p,k=tf2zp(num, den);,disp(z) disp(p) disp(k) pzmap(num,den); title(Poles and zeros map);,解: 可执行如下程序: %This progr
18、am create a transfer function and then finds/displays its poles, zeros and gain,程序执行结果如下: 屏幕显示: z=0.4019+1.1965i p=-1.7680+1.2673i 0.4019-1.1965i -1.7680-1.2673i -0.7352+0.8455i 0.4176+1.1130i -0.7352-0.8455i 0.4176-1.1130i -0.2991 K=3,同时, 屏幕上显示系统的零、极点分布图,如图所示。可以看出系统有在s右半平面上的闭环极点,所以系统不稳定。,系统零、 极点分布图,2.应用MATLAB分析系统的动态特性 在MATLAB中,提供了求取连续系统的单位阶跃响应函数step,以及任意输入下的仿真函数lsim。 【例2】已知典型二阶系统的传递函数为:,其中n=6, 绘制系统在=0.1, 0.2, , 1.0, 2.0 时的单位阶跃响应。,%This program plot
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 火电厂热网水侧高效清洗工艺优化与运行策略研究
- 公司工会经费管理与收支优化方案
- 保健管理处方管理办法
- 申请报告书的撰写
- 档案信息收集管理办法
- 地理空间数据底座在区域开发中的应用与挑战
- 《中小学德育工作指南》的实践意义
- 船舶复合材料结构多目标优化设计技术
- 普通美容广告管理办法
- 韩国教育体系改革与国际竞争力
- 2025年下半年佛山市南海区建筑工程质量检测站招考编外工作人员易考易错模拟试题(共500题)试卷后附参考答案
- GB/T 45610-2025煤矸石回填塌陷区复垦技术规程
- 2型糖尿病患者卒中预防及血糖管理专家共识2024解读
- 人教版五年级上册数学全册导学案(2021年秋修订)
- 二级注册建造师继续教育题库附答案
- 夏季安全生产八防
- 2025-2030年中国写字楼行业市场深度调研及前景趋势与投资研究报告
- 人教版(2024)七年级下册英语Unit 8 Once upon a Time单元集体备课教案(共5课时)
- 上海2025年上海市第一批面向西藏籍毕业生招聘笔试历年参考题库附带答案详解
- 邹平市社区工作者招聘真题2024
- 公司员工饮水管理制度
评论
0/150
提交评论