《系统仿真与MATLAB语言》实验指导书

上传人:m**** 文档编号:165246290 上传时间:2022-10-27 格式:DOCX 页数:27 大小:455.66KB
返回 下载 相关 举报
《系统仿真与MATLAB语言》实验指导书_第1页
第1页 / 共27页
《系统仿真与MATLAB语言》实验指导书_第2页
第2页 / 共27页
《系统仿真与MATLAB语言》实验指导书_第3页
第3页 / 共27页
点击查看更多>>
资源描述
系统仿真与MATLAB语言实验指导书韶关学院2012级自动化专业系统仿真与MATLAB语言实验说明1、所有同学必须参加实验课,按照排定顺序上机。2、每次上机请登记在实验室记录本上,固定机位,一人一机。3、本课程 7次上机实验 (其中前6次实验要提交纸质实验报告, 第7 次实验提交电子版实验报告)。4、在机房内务必保持安静,不得大声喧哗,不得从事与实验无关 事项,如打游戏、看电影等。5、写好预习报告:针对实验内容要求用自己的语言简要的写明实验目的、实验原 理,并针对实验内容预先做好程序的编写。所有实验项目必须提前编 写程序!不写预习报告不得参加实验!6、数据记录 记录实验的原始数据,实验期间当场提交。拒绝抄袭。实验过程 中要能回答我的提问。7、实验内容 总结所做实验的内容 回答有关思考题2014、9实验一 MATLAB 语言工作环境和基本操作一、实验目的:熟悉MATLAB的工作环境,学会使用MATLAB进行一些简单的运算。二、实验内容:MATLAB的启动和退出,熟悉MATLAB的桌面(Desktop),包括菜单(Menu)、工具条(Toolbar)、命令窗口(Command Window)、历史命令窗口、工作 空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。三、实验步骤:1、启动MATLAB,熟悉MATLAB的桌面。2、在命令窗口执行命令完成以下运算,观察workspace的变化,记录运算结果。(1) (365-52x2-70) 一3(2) area=pi*2.5A2(3) 已知 x=3,y=4,在 MATLAB 中求 z:x2y3输入C=1:2:20,贝IC (i)表示什么?其中i=l,2,3,,;(5) 掌握MATLAB常用命令 who%列出工作空间中变量 whos%列出工作空间中变量,同时包括变量详细信息save test%将工作空间中变量存储到test.mat文件中load test%从test.mat文件中读取变量到工作空间中clear%清除工作空间中变量help 函数名 %对所选函数的功能、调用格式及相关函数给出说明 lookfor%查找具有某种功能的函数但却不知道该函数的准确名称如:lookfor Lyapunov可列出与Lyapunov有关的所有函数。(6) 将下面的矩阵赋值给变量ml,用whos命令察看ml在内存中占用的字节数,写出下 面各指令的运行结果并上机验证。162313m1=51110897612414151执行以下命令m1( 2 , 3 )m1( 7 )m1( : , 3 )m1( 2 : 3 , 1 : 3 )m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1) (7)执行命令help abs查看函数abs的用法及用途,计算abs( 3 + 4i )8)执行命令x=0:0.1:6*pi;y=5*sin(x);plot(x,y)(9)运行MATLAB的演示程序,dem0,以便对MATLAB有一个总体了解。( 10) 设计 M 文件计算:x=0:0.1:10J0 csum = 乂 x2 - 2xiii=当 sum1000 时停止运算,并显示求和结果及计算次数。(11) 求100, 999之间能被21整除的数的个数(提示利用函数rem)。(12) 建立一个字符串向量,删除其中的大写字母(使用find函数)。四、思考题1 、以下变量名是否合法?为什么?( 1 ) x2( 2) 3c0l( 3) _r0w( 4) f0r2、求以下变量的值,并在MATLAB中验证。(1) a = 1 : 2 : 5 ;( 2) b = a a a ;( 3 ) c = a + b ( 2 , : )实验2 MATLAB 程序设计一、实验目的和要求:1、熟练掌握MATLAB的程序流程控制结构2、熟练掌握 M 文件的结构3、熟练掌握函数的调用和参数传递4、掌握MATLAB程序编辑、运行及调试方法二、实验内容:MATLAB的语法规则简洁,编程效率高,作为一个完整的程序语言,MATLAB也有其各种 程序流程控制、文件格式和函数调用的规则,通过函数的调用就能够组成庞大的程序,完成 复杂的功能。三、实验步骤:启动 MATLAB 后, 点击 File|New|M-File , 启动 MATLAB 的程序编辑及调试器(Editor/Debugger),编辑以下程序,点击File|Save保存程序,注意文件名最好用英文字 符。点击 Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正。1 、使用程序流程控制Fib on acci数列的各元素为:1, 1, 2, 3, 5, 8,,满足以下关系:F1=1F2=1Fn=Fn-1+Fn-2用 M 函数文件实现,数列的元素个数为输入变量。(1)用while循环实现程序功能( 2)用 for 循环实现程序功能(3)实现当某个元素大于50时,退出循环结构。(提示:使用break)2、数论中一个有趣的题目:任意一个正整数,若为偶数,则用2 除之,若为奇数,则与3 相乘再加上 1。重复此过程,最终得到的结果为1。如:2t13t10t5t16t8t4t2t16t3t10t5t16t8t4t2t1编写程序,并运行程序验证程序是否正确。3、编写一个函数,计算下面函数的值,给出标量x的值,调用该函数后,返回y的值。 function y=myfun1(x)厂sin x,x 0y (x) = x,0 x 3选择一些数据测试你编写的函数。实验3 MATLAB 绘图一、实验目的和要求:1、熟练掌握MATLAB二维曲线的绘制2、熟练掌握图形的修饰3、知道三维图形的绘制4、熟练掌握各种特殊图形的绘制二、实验内容:MATLAB的图形功能非常强大,可以对二维、三维数据用图形表现,并可以对图形的线型、 曲面、视角、色彩、光线等进行处理。与其他软件一样,MATLAB也可以实现GUI设计, 是人机交互界面更加美观、方便。三、实验步骤:1、在同一坐标系下绘制下面三个函数在性0, 4冗的图象,三条曲线分别采用不同的线形、 颜色来绘制(此题采用两种不同的绘制方法实现在同一坐标系绘制三条曲线)。y = t1 _y = 7t2y = 4兀 e -o.it sin( t)2、x= 2n,2n , y1=sinx、y2=cosx、y3=sin2x、y4=cos 2x(1) 用 MATLAB 语言分四个区域分别绘制的曲线,并且对图形标题及横纵坐标轴进 行标注(如下图所示)。图 1 四分区绘制曲线2)另建一个窗口,不分区,用不同颜色、线型绘出四条曲线,并标注图例注解。File Edit Vi ew Insert Tools Desktop Window Help0.80.60.40.2-0.2-0.4-0.Gsin(x) cos(x)-sin(2x) cos(2x)3、三维空间z=0:0.1 x=cos(z);-0.8 -: . :; 1 IJ :、: . /-曲线绘制 !_彳II :II I 一 / I 心/ I4*pj-8 -E d -20246 Sy=sin(z);plot3(x,y,z)4、用mesh或surf函数,绘制下面方程所表示的三维空间曲面,x和y的取值范围设为-3, 3。x210y2105、特殊图形MATLAB还提供了一些特殊的曲线以满足特殊的要求。对函数y=s inx,分别绘制:(1) 绘制条形图(bar)(2) 绘制实心图(fill)(3) 绘制阶梯图(stairs)(3)绘制火柴杆图(stem)实验4 MATLAB 数值及符号计算一、实验目的和要求:1、熟练掌握MATLAB变量的使用2、熟练掌握MATLAB矩阵和数组的运算3、熟悉MATLAB多项式的运用4、熟练掌握MATLAB符号表达式的创建5、熟练掌握符号表达式的代数运算6、熟练掌握符号微积分7、掌握符号积分变换8、熟悉符号方程的求解 二、实验内容和步骤:11471232411、a =b 二c 二0d =852456_1351-1-2360下列运算是否合法,为什么?如合法,结果是多少?(1) result1 = a(2) result2 = a * b(3) result3 = a + b(4) result4 = b * d(5) result5 = b ; c * d(6) result6 = a . * b(7) result7 = a . / b(8) result8 = a . * c(9) result9 = a . b(10) resultIO = a . A2(11) resultll = a 人2(12) result12 = 2 人 a2、用MATLAB求下面的的方程组。7212x1x4915327(1)22115X2x=1313213x40厂x + y + z 二 1x + 2 y + z w 二 82x y 3w 二 33x + 3 y + 5 z 6w 二 53、已知A二221153 2 11322213求矩阵A的秩(rank)(2) 求矩阵A的行列式(determinant)(3) 求矩阵A的逆(inverse)(4) 求矩阵A的特征值及特征向量(eigenvalue and eigenvector)4、关系运算与逻辑运算已知a=20,b=-2,c=0,d=1,计算下列变量的值,并上机验证。(1) r1 = a b(2) r2 = a b & c d(3) r3 = a = b* (-10)(4) r4 = b | c5、创建符号表达式和符号表达式的操作g =y对符号表达式 f=sln x,e - 21进行操作。(1) 创建符号变量,分别使用sym和syms命令( 2)求反函数和复合函数。 用 finverse 函数求 f 和 g 的反函数 用compose函数求f, g的复合函数( 3)符号微积分和极限。 对 f 和 g 用 diff 求微分 对 f 和 g 用 int 求积分6、符号矩阵的操作A = X X2 ( 1 )创建符号矩阵2x cos(2t)(2) 符号矩阵的代数运算。符号矩阵的大多数运算都与矩阵相同 计算 A . 以及 det(A)(3) 对符号矩阵A进行求特征值、对角阵等运算(4) 对符号矩阵A求极限和积分7、符号方程的求解。( 1 )代数方程求解。2 x - 3 x + 2 x = 8124x + 5 x + 2 x + x = 2: cLp T :=l!zi lesM a.t.K Op er at i onsM o de 1 yi t i c :i t i onModel-ffide Utili tiesForts Si S nt sys t am sS i gTL:=il A t tr i b u t a eS 1 gTL:=il R o u t i TLgS i rLksS o ijj- c e sFunction&Tables (函数和平台模块)Math (数学模块)Nonlinear (非线性模块)Signals&Systems (信号和系统模块)Sinks (接收器模块)Sources (输入源模块)4SIMULINK 简单模型的建立( 1)建立模型窗口( 2)将功能模块由模块库窗口复制到模型窗口(3)对模块进行连接,从而构成需要的系统模型5SIMULINK 功能模块的处理( 1)模块库中的模块可以直接用鼠标进行拖曳(选中模块,按住鼠标左键不放)而放到模 型窗口中进行处理。(2)在模型窗口中,选中模块,则其4 个角会出现黑色标记。此时可以对模块进行以下的 基本操作:I)移动:选中模块,按住鼠标左键将其拖曳到所需的位置即可。若要脱离线而移动,可 按住 shift 键,再进行拖曳;II)复制:选中模块,然后按住鼠标右键进行拖曳即可复制同样的一个功能模块;III)删除:选中模块,按Delete键即可。若要删除多个模块,可以同时按住Shift键,再用 鼠标选中多个模块,按Delete键即可。也可以用鼠标选取某区域,再按Delete键就可以把 该区域中的所有模块和线等全部删除;W)转向:为了能够顺序连接功能模块的输入和输出端,功能模块有时需要转向。在菜单Format中选择Flip Block旋转180度,选择Rotate Block顺时针旋转90度。或者直接按 Ctrl+F 键执行 Flip Block,按 Ctrl+R 键执行 Rotate Block。V)改变大小:选中模块,对模块出现的4个黑色标记进行拖曳即可。W)模块命名:先用鼠标在需要更改的名称上单击一下,然后直接更改即可。名称在功能模 块上的位置也可以变换180度,可以用Format菜单中的Flip Name来实现,也可以直接通 过鼠标进行拖曳。Hide Name可以隐藏模块名称。)颜色设定:Format菜单中的Foreground Color可以改变模块的前景颜色,Background Color可以改变模块的背景颜色;而模型窗口的颜色可以通过Screen Color来改变。哪)参数设定:用鼠标双击模块,就可以进入模块的参数设定窗口,从而对模块进行参数设 定。参数设定窗口包含了该模块的基本功能帮助,为获得更详尽的帮助,可以点击其上的 help按钮。通过对模块的参数设定,就可以获得需要的功能模块。IX) 属性设定:选中模块,打开Edit菜单的Block Proper ties可以对模块进行属性设定。 包括 Description 属性、Priority 优先级属性、Tag 属性、Open function 属性、Attributes format st ring属性。其中Open func tion属性是一个很有用的属性,通过它指定一个函数 名,则当该模块被双击之后,Simulink就会调用该函数执行,这种函数在MATLAB中称为回 调函数。X) 模块的输入输出信号:模块处理的信号包括标量信号和向量信号;标量信号是一种单一 信号,而向量信号为一种复合信号,是多个信号的集合,它对应着系统中几条连线的合成 缺省情况下,大多数模块的输出都为标量信号,对于输入信号,模块都具有一种“智能”的 识别功能,能自动进行匹配。某些模块通过对参数的设定,可以使模块输出向量信号。6SIMULINK 应用举例以具有双积分环节的系统G (S)为例,该系统的开环是不稳定的,为了使系统稳定, 使用超前校正环节K (S)进行串联校正,见图6-2。图 5-2 系统结构框图在建模之前,你需要创建一个工作区域。创建一个工作区域的方法为,选择File项, 然后再选择New,这将开始一个新的窗口,其窗口名为“Untiledl”可以在该窗口内构造 系统模型,并称这个窗口为工作窗口。为了得到这个系统的阶跃响应,可以由两个传递函数、一个求和点、一个输入源及两个 输出观测点等 6 个部分组成这个系统。输入源的元件位于Sources库;传递函数与综合点方块都位于线性部分(Linear)库中。 用同样方法,可将该库中的Transfer Fen与Sum图形拖曳到工作空间,然后关闭Linear库; 如何得到其仿真的输出结果。在Sinks库中有三个功能方块可用于显示或存储输出结 果。Scope功能块可以像一台示波器,实时地显示任何信号的仿真结果。To Workspace功能 块可以把输出值以矢量的形式存储在MATLAB工作空间中,这样可以在MATLAB环境下 分析与绘制其输出结果。 To File 功能块可以把数据存储到一个给定名字的文件中。用同样 方法,将Scope拖曳到工作空间,并关闭Sinks库窗口。打开Sum功能块,在List of Signs处输入“+” “一”符号。如果综合点超过了两个输 入点,只要简单地输入其正、负号,即可自动地增加其相应地输入点。打开StepFcn功能块,有三个空白框可以填入参数。Steptime是阶跃响应的初始时间。 此项可填0,即零时刻开始阶跃响应。另外两项为初始值(Initial value)和终值(Final value)。 这两项可分别输入 0 和 1。打开工作空间功能块。输入y作为变量名(Variable name)最后,要将这些方块连接起来。除Sources与Sinks功能块外,所有其他方块中至少有 一个输出点,即在方块旁有一个符号指向外面,也至少有一个输入点,即在方块旁有一个 符号指向里面,Sources功能块没有输入点,只有输出点,而Sinks功能块没有输出点, 因此它仅有一个输入点。系统的仿真方块图见图6-3。7SIMULINK 仿真的运行构建好一个系统的模型之后,接下来的事情就是运行模型,得出仿真结果。运行一个仿 真的完整过程分成三个步骤:设置仿真参数、启动仿真和仿真结果分析。1)设置仿真参数和选择解法器设置仿真参数和选择解法器,选择Simulation菜单下的Parameters命令,就会弹出一个 仿真参数对话框,它主要用三个页面来管理仿真的参数。I. . Solver页,它允许用户设置仿真的开始和结束时间,选择解法器,说明解法器参数 及选择一些输出选项。 仿真时间:注意这里的时间概念与真实的时间并不一样,只是计算机仿真中对时间 的一种表示,比如10秒的仿真时间,如果采样步长定为0.1,则需要执行 100步,若把步长 减小,则采样点数增加,那么实际的执行时间就会增加。一般仿真开始时间设为0,而结束 时间视不同的因素而选择。总的说来,执行一次仿真要耗费的时间依赖于很多因素,包括模 型的复杂程度、解法器及其步长的选择、计算机时钟的速度等等。仿真步长模式:用户在Type后面的第一个下拉选项框中指定仿真的步长选取方式, 可供选择的有Variable-step (变步长)和Fixed-step (固定步长)方式。变步长模式可以在仿 真的过程中改变步长,提供误差控制和过零检测。固定步长模式在仿真过程中提供固定的步 长,不提供误差控制和过零检测。用户还可以在第二个下拉选项框中选择对应模式下仿真所 采用IL。Workspace I/O页,作用是管理模型从MATLAB工作空间的输入和对它的输出。III. .Diagnostics页,允许用户选择Simulink在仿真中显示的警告信息的等级。( 2)、启动仿真I. 设置仿真参数和选择解法器之后,就可以启动仿真而运行。选择 Simulink 菜单下的 start 选项来启动仿真,如果模型中有些参数没有定义,则会出 现错误信息提示框。如果一切设置无误,则开始仿真运行,结束时系统会发出一鸣叫声。II. 除了直接在SIMULINK环境下启动仿真外,还可以在MATLAB命令窗口中通过函 数进行,格式如下:t,x,y=sim(模型文件名,to tf,simset(渗数1,参数值1,参数2,参数值2,.)其中to为仿真起始时间,tf为仿真终止时间。t,x,y为返回值,t为返回的时间向量 值,x为返回的状态值,y为返回的输出向量值。simset定义了仿真参数,包括以下一些主 要参数:AbsTol:默认值为le-6设定绝对误差范围。Decimation:默认值为1,决定隔多少个点返回状态和输出值。Solver:解法器的选择。最后一步是仿真(Simulatio n),可以通过选择仿真菜单(Simulation Men u)执行仿真命令。有 两个可以供选择的项:Start (开始执行)与Parameters (参数选择)。在参数选择中,可以有几种积分算法供选择。对于线性系统,可以选择Linsim算法。对应项分别输入如下参数:Start Time0(开始时间)Stop Time9.9(停止时间)Rilative Error0.001(积分一步的相对误差)Minimum Step Size0.1(最小步长)Maximum Step Size0.1(最大步长)在 Return Variable 方框中,还可以输入要返回的变量参数。如在此方框中填入 t, 在仿 真之后可以在MATLAB工作空间中得到两个变量,即t与y。参数选择完毕后,关闭该窗口。此时,你可以选择Start启动仿真程序,在仿真结束时,计算机会用声音给予提示。阶 跃响应图如图 5-4 所示。1s 2 + 2s + 22 S2 + 2s + 232s3 + 3s2 + 3s+1将Tl、T2、T3系统的阶跃响应图在同一 Scope中显示。练习 5-2 典型二阶欠阻尼系统的传递函数为:G(S)二2ns 2 + 20 s +W 2nn(2 +C 2)as2 + 2gs + (2 +c 2)a极点位置:S = b jea式中:b=A ; e =e V1 g2;g = cos(0)nan *在 SIMULINK 环境下,作该系统在以下参数时的仿真: 设3 a=1, O =0.5,l,5,求阶跃响应,(用同一 Scope显示); 设O =1,3 a=0.5,1,5,求阶跃响应在(用同一 Scope显示); 设:g = 乂3 , en =22 ,*2 ,5八;2求阶跃响应(用同一 Scope显示); 设e = : 2 0 = 30045 o60 on求阶跃响应,(用同一 Scope显示);阶跃响应的时间:0WtW10,阶跃信号幅值为+2V。分析参数变化(增加、减少与不变)对阶跃响应的影响。练习 5-3 直流电动机双闭环调速系统如图所示。(1)以给出的方式建立系统的 SIMULINK 的模型,并进行仿真,用示波器观察系统的阶跃响应曲线;(2)调整转速调节器(as+1)/0.085s的a参数,选择a=0.5,观察其系统的阶跃响应曲线并进行比较。实验 6 控制系统的计算机辅助分析一、实验目的和要求:1、熟练掌握线性系统的模型描述2、掌握线性系统稳定性分析3、熟练掌握线性系统的时域分析4、熟练掌握线性系统的频域分析5、掌握根轨迹分析二、实验内容:1、参考下面的程序,编写程序计算传递函数为G( S )=的阶跃响应特参数:超调量O %;上升时间Tr;峰值时间Tp;过渡过程时间Ts;附录:计算超调量O %、上升时间Tr、峰值时间Tp、过渡过程时间Ts的函数文件;% MATLAB PROGRAM EG2-4 function pos,tr,ts2,tp=stepchar(t,y); %finding Pos and Tp mp,ind=max(y);dimt=length(t); yss=y(dimt); pos=100*(mp-yss)/yss; tp=t(ind); i=1;j=1;k=1;q=1;while y(i)0.1;i=i+1;end;t1=t(i);while y(j)=1.02;n=1;end;end; t1=t(i);i=dimt+1;n=0; while n=0;i=i-1;if y(i)t2;ts2=t1;elsets2=t2;end;end;%程序中,pos为超调量%。2、求多项式的根如果P是包含多项式系数的行向量,由roots(p)命令得到一个列向量,其元素为多项 式的根。求多项式:s 6 + 9 S 5 + 31 .25 S 4 + 61 .25 S 3 + 67 .75 S 2 + 14 .75 S 1 + 15 的根;3、由多项式的根求多项式如果r是包含多项式根的一个行/列向量,用poly (r)命令得到一个行向量,其元素为 多项式的系数;1) 已知多项式的根为T,-2,-3土 j4,求多项式方程。2) 求下列矩阵的特征方程的根0 1 -A 二-6 -11 6-6 -11 53) 求下列函数的零、极点和增益。H() _S 3 + 11S 2 + 30S_ S 4 + 9S 3 + 45S 2 + 87S + 504、部分分式展开:函数r,p,k=residue(b,a),对两个多项式的比进行部分分式展开,如:P(s) bb s + b_ mm-110-Q(s)a sn + a sn+1 + .+ as + ann-110向量b、a是以s的降幕顺序排列多项式的系数,部分分式展开后余数送入列向量r,极点 送入列向量P,常数项送入k。对F (s)进行部分分式展开:2s3 + 9s +1F (s)= s 3 + s 2 + 4s + 45、传递函数的常用命令:最常用的对传递函数进行变换的命令为传递函数的乘、加与反馈连接命令。对于简单的 框图分析可以使用 series、 parallel、 feedback 与 cloop 命令,采用传递函数的形式进行分 析与处理。 传递函数串联:G (s) = G (s)G (s)s 12命令格式: nums, dens=series(num1, den1, num2, den2) 传递函数并联:G (s) = G (s) + G (s)p 1 2命令格式:nump, denp= parallel (num1, den1, num2, den2) 反馈系统:1 + G (s)G (s)12命令格式: numf, denf=feedback(num1, den1, num2, den2) 单位反馈系统:G (s)1 + G (s)命令格式: numc,denc=clooop(num, den, sign) sign是可选参数,sign=-l为负反馈,而sign=l对应为正反馈。缺省值为负反馈。G (x) = -,G (x上一21)已知两个传递函数分别为:13s +1 23 s 2 + s 在MATLAB中分别用传递函数、零极点、和状态空间法表示; 在MATLAB中分别求出通过反馈、串联、并联后得到的系统模型。 按下图方式反馈连接,求闭环系统的传递函数。+6、求连续系统的单位阶跃响应有关命令的用法:命令格式:y,x,t=step(num, den)y,x,t=step(num, den, t)y,x,t=step(A,B,C,D)y,x,t=step(A,B,C,D,iu)y,x,t=step(A,B,C,D,iu,t)典型二阶欠阻尼系统的传递函数为: 2( 2 +Q 2)G ( S ) =n=as 2 + 2S s +O 2s 2 + 2os + ( 2 +c 2)nna极点位置:S = G + ja式中:G=S ;二 ”1 g 2;g = C0S(e)nan 设3 a=1, O =0.5,l,5,求阶跃响应; 设O =1 , 3 a=0.5,1,5,求阶跃响应; 设:g, n =2:2 用2 ,5*2求阶跃响应; 设3 =、:2 0 = 30045 o600n求阶跃响应; 阶跃响应对应的时间: t=0 至 t=10 ,分析参数变化(增加、减少与不变)对阶跃响应的影响。(提示:程序中可使用“INPUT”命令,用键盘输入不同的参数。)7、Bode 图命令格式: mag,phaSe,w=bode(a,b,C,d)mag,phaSe,w=bode(a,b,C,d,iu)mag,phaSe,w=bode(a,b,C,d,iu,w)mag,phase,w=bode(num,den)mag,phase,w=bode(num,den,w)求幅值裕度和相位裕度:gm,pm,wcp,wcg=margin(mag,phase,w)gm,pm,wcg,wcp=margin(num,den)gm,pm,wcg,wcp=margin(a,b,c,d)y 251) 有一线性系统的传递函数为:- =u s 2 + 4s + 25(s)求该系统的 Bode 图和 gm ,pm ,wcg ,wcp ,并在图中加标题及横坐标、纵坐标。K2) 给定系统的传递函数为:G(s)=,分别判定当开环放大倍数K=5和S (s +1)(0.1s +1)K=20时,闭环系统的稳定性,并求系统的幅值裕度(db)和相位裕度( )。8、Nyquist 图的用法:命令格式:re,im,w=nyquist(a,b,c,d)re,im,w=nyquist(a,b,c,d,iu)re,im,w=nyquist(a,b,c,d,iu,w)re,im,w=nyquist(num,den)re,im,w=nyquist(num,den,w)K已知某单位反馈系统开环传递函数为:G(s)二K1=1300,K2=5200s 3 + 52 s 2 +100 s 、画该系统在K=K1和K=K2时的Bode图; 、画该系统的Nyquist图;将K=K1和K=K2时的Nyquist图分别绘在屏幕的左右窗 口。9、根轨迹的绘制:命令格式:绘制系统根轨迹图r,k=rlocus(num,den) r,k=rlocus(num,den,k) r,k=rlocus(a,b,c,d) r,k=rlocus(a,b,c,d,k)1) 绘制给定系统的根轨迹图:G(S)= S (S + K S + 2),K =出2)给定单位负反馈系统的开环传递函数为:G(S)K (S + 2)S 2 + 2S + 3 绘制给定系统的Bode图,并求系统的幅值裕度(db)和相位裕度。 用根轨迹分析法,讨论增益K的变化对系统性能的影响; 作出K=0. 25、0.42、1.5、2、4、6、8时,系统的阶跃响应图。实验7 SIMULINK 对经典控制系统的设计仿真实验目的:学习用 Simulink 软件工具对经典控制系统进行仿真设计的基本方法。二 实验内容用 Simulink 工具对下列题目进行仿真设计。练习 7-1 带有右零点或时间迟延环节的系统称为非最小相位系统。本题是研究非最n (S )S 2 + 0.5 S + 1 .5小相位零点的作用。已知系统的传递函数为,编写程序并仿真: 、设n(s)=1.5,求该二阶系统阶跃响应及超调量、峰值时间、过渡过程时间; 、设n(s) = (-s+a)/a ,a=1,3,6,求该二阶系统阶跃响应; 、设n(s) = (s+a)/a , a=1,3,6,求该二阶系统阶跃响应; 、分别绘制两项的阶跃响应图,并列表表示所得结果。两项的阶跃响应图中应附有项的阶跃响应曲线,以作比较; 、基于所得的数据,试叙述在阶跃响应中左平面零点与右平面零点各自的作用是什么? 练习 7-2 分析滞后与超前补偿器在不稳定系统中的补偿作用。1以双积分器为例:G (S)S2其补偿器有如下三种:I、比例补偿器:K(S)=KCII、超前补偿器:K(S)=KC(S+l)/(S+5)III、滞后补偿器:K(S)=KC(S+5)/(S+1)讨论:、在第一种情况下,系统能稳定吗?增加KC的作用是什么? 、在第二种情况下,系统能稳定吗?增加KC的作用是什么? 、在第三种情况下,系统能稳定吗?增加KC的作用是什么? 、设KC=0.1,0.5,1,对以上每一种情况进行仿真,求其阶跃响应,要求将 这三种情况的闭环阶跃响应绘制在同一张图中。在每种情况中,仿真时间为10, 50, 5。 练习 7-3 对典型的 PID 控制系统模型进行 Simulink 仿真,记录仿真结果。并将阶跃输出结 果和时间变量写到MATLAB的工作空间变量t和y中,用plot(t ,y)将仿真结果打印出来。比较两种仿真结果。取Kp=10, Ki=3, Kd=2PID控制系统模型框图和Simulink仿真图见图7-1,图7-2;图 7-1 PID 控制系统模型框图1、常用矩阵函数命令说明d=eig(A)矩阵特征值v,d=eig(A)矩阵特征值和特征向量det(A)行列式计算inv(A)求逆poly(A)特征多项式trace(A)对角元素之和orth(A)正父化2、常用特殊矩阵命令说明A=空矩阵A=eye( n )N维单位矩阵A=ones(n,m)全部元素都为1的矩阵A=zeros(n,m)全部元素都为0的矩阵A=rand(n,m)元素为0到1之间均匀分布的随机矩阵A=randn(n,m)元素为零均值单位方差正态分布的随机矩阵3、图形绘制和修饰1)坐标轴调整axis(xmin xmax ymin ymax)图形的 x 轴范围限定在xmin xmaxy轴范围限定在ymin ymaxset(gca, xtick,标示向量)按照向量设置X坐标的刻度标示set(gca, ytick,标示向量)按照向量设置Y坐标的刻度标示set(gca, xticklabel, 字符串字符串)按字符串设置X坐标的刻度标示 set(gca,yticklabel,字符串|字符串)按字符串设置y坐标的刻度标示 2)文字标示title(字符串)图形标题xlabel( 字符串)x 轴标注ylabel( 字符串)y 轴标注text(x,y, 字符串) gtext(字符串)在坐标处标注说明文字用鼠标在特定处标注说明文字3)网格控制grid on 在所画的图形中添加网格线grid off 在所画的图形中去掉网格线4)图例注解legend(字符串1,字符串2,,参数) 为区分各条曲线以字符串进行注解说明,参数确定注解在图形中的位置5)图形的保持hold on 保持当前图形及轴系的所有特性hold off 解除命令(6)图形窗口的分割可把一个绘图窗口分割成几个区域,分别绘图。subplot(m, n, p)将当前绘图窗口分割成m行n列区域,指定第p个编号区域为当前绘图区。 区域编号原则:“先上后下,先左后右”。4、线性系统分析设计(1)模型描述状态空间:写为A、B、C、D四个矩阵的形式;也可用SYS = SS(A,B,CQ)传递函数:用分子、分母的多项式表示;可用SYS = TF(NUMQEN)建立tf模型G( s)=num(1)snn-1 + num(2)snn-2 +. + num(nn - 1)s + num(nn)den(1)s nd-1 + den(2)s nd - 2 +.+den(nd -1)s + den(nd)零极点:用增益k、分子零点向量Z、分母极点向量p表示,G(s)= k s 一z(1)s 一z(2)-s 一z(m)S订 s 卩(1)s p(2) - s - p(n)同样可用SYS = ZPK(Z,P,K)建立zpk模型部分分式:rs - p(2)+ 品+k(s)num(s) _r(1)G(s) 一 den(sr 一 s - p(i)传递函数没有相同极点时,可与部分分式相互转换:r,p,k=residue(num,den)传递函数变换为部分分式形式num,den=residue(r,p,k)部分分式变换为传递函数形式闭环系统feedback 反馈连接 SYS = feedback(SYS1,SYS2,sign)A,B,C,D=feedback(A1,B1,C1,D1,A2,B2,C2,D2,sign) num,den=feedback(num1,den1,num2,den2,sign) sign=+(-)1 反馈极性,缺省-1 为负反馈类似地,有 parallel 系统并联 series 系统串联(2)模型转换ss态空间、tf传递函数、zp极点num,den=ss2tf(a,b,c,d,iu)状态空间到传递函数z,p,k=ss2zp(a,b,c,d,iu)状态空间到零极点a,b,c,d=tf2ss(num,den)传递函数到状态空间z,p,k=tf2zp(num,den)传递函数到零极点a,b,c,d=zp2ss(z,p,k)零极点到状态空间num,den=zp2tf(z,p,k)零极点到传递函数r,p,k=residue(num,den)传递函数到部分分式num,den=(r,p,k)部分分式到传递函数(3)系统分析(以下模型描述也可以用状态空间表达式的A、B、C、D) step(num,den)直接画出单位阶跃响应曲线,时间是自动给定y,x =step(num,den,T)求系统在T时间向量下的单位阶跃响应输出,y是列向量,并返回状态x的变化。 Impulse, lism 用法类似 step bode(num,den,w) 直接绘出 bode 图。 m,p= bode(num,den,w) 求出幅值和相角,可再用半对数坐标画图 Nyquist(num9den9wmin,wmax)直接绘Nyquist曲线,wmin,wmax频率范围 real,imag,ww= Nyquist(num,den,wmin,wmax) rlocus(num,den) r,k= rlocus(num,den) r= rlocus(num,den,k)得到实部、虚部,可再绘图。直接绘出根轨迹返回增益和对应的复极点返回给定增益对应的复极点4)状态反馈设计 M=Ctrb(A,B)系统的能控矩阵 M=B AB A2B . An-1B N=obsv(A,C)求取系统的能观矩阵 N=C CA CA2 . CAn-1k=acker(A,B,p)(单输入)对于期望极点p,求出系统的状态反馈增益阵k
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 建筑资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!