MATLAB语言与控制系统仿真实验.pdf

上传人:曲**** 文档编号:96542501 上传时间:2023-12-19 格式:PDF 页数:42 大小:1.96MB
返回 下载 相关 举报
MATLAB语言与控制系统仿真实验.pdf_第1页
第1页 / 共42页
MATLAB语言与控制系统仿真实验.pdf_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《MATLAB语言与控制系统仿真实验.pdf》由会员分享,可在线阅读,更多相关《MATLAB语言与控制系统仿真实验.pdf(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、目录目录.I1.说明.12.MATLAB语言简介.22.1 MATLAB的应用基础.22.2 MATLAB 函数.32.3 绘制响应曲线.42.4 MATLAB语言的联机帮助功能.63.MATLAB语言基础实验.73.1 实验一 MATLAB语言平台.73.2 实验二 MATLAB数值运算.103.3 实验三 MATLAB绘图.133.4 实验四 MATLAB句柄绘图.174.控制理论仿真实验.204.1 实验五 控制系统的建模.204.2 实验六控制系统的稳定性分析实验.264.3 实验七控制系统的时域分析实验.284.4 实验八控制系统的根轨迹分析.304.5 实验九控制系统的频域分析.3

2、14.6 实验十S函数的编写及应用.325.实验作业.38MATLAB语言与控制系统仿真实验1.说明MATLAB语言与控制系统仿真实验指导书包括四部分内容:MATLAB语言基础、MATLAB语言基础实验、控制理论仿真实验和实验作业。要求每位学生完成规定的实验内 容后,独立做完实验作业,以巩固知识,增强应用能力。本课程上机实验学时为8学时,建议分配如下:上述学时仅为参考学时,学生可根据自己对MATLAB的熟悉程度作适当的调整。实验内容学时数实验一 MATLAB语言平台0.4实验二MATLAB数值运算0.4实验三MATLAB绘图0.2实验五控制系统的建模1实验六控制系统的稳定性分析实验2实验七控制

3、系统的时域分析实验2实验八控制系统的根轨迹分析1实验九控制系统的频域分析12.MATLAB语言简介MATLAB是MathWo rks公司于1982年推出的一套高性能的数值计算和可视化软 件,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面 友好的用户环境。MATLAB的推出得到了各个领域专家学者的广泛关注,其强大的扩展 功能为各个领域的应用提供了基础,现已成为国际控制界应用最广的首选计算机工具。控制界的很多知名学者度为其擅长的领域写出工具箱,而其中很多工具箱已经成为该领 域的标准。和其它的程序设计语言不同,MATLAB语言的基本变量单元是复数矩阵,其矩阵处 理功能和图形

4、处理功能是其最显著的特色,这里介绍一些简单实用的MATLAB命令及 操作。2.1 MATLAB的应用基础1.如何应用MATLAB通常以命令驱动方式应用MATLAB o当输入单个命令时,MATLAB会立即对其进 行处理,并且显示处理结果。MATLAB也能够执行存储在文件中的命令序列。通过键盘输入的命令,可以用上下箭头键存取。2.MATLAB的变量MATLAB的一个特点是变量在应用前不必确定维数。在MATLAB中,变量一旦被 采用,会自动产生(如果必要,变量的维数以后还可改变),并保留在存储器中。为了得到工作空间内的变量清单,可以通过键盘输入命令who,当前存放在工作空 间内的所有变量便会显示在屏

5、幕上。命令clear能从工作空间中清除所有非永久性变量。如果只需要从工作空间中清除某 个特定变量,比如“x”,则应输入命令clear x。3.以“”开始的程序行在MATLAB中以”开始的行表示注解和说明,这些注解和说明是不执行的。如 果注解和说明需要一行以上程序行,则每一行均需以”为起始。4.分号操作符分号用来取消打印(显示)。如果语句的最后一个符号是分号,则打印被取消,但 是命令仍在执行,而结果不再显示。此外,在输入矩阵时,分号表示一行的结束。5.冒号操作符冒号操作符在MATLAB中起着重要作用。该操作符用来建立行向量,赋予矩阵下 标和规定叠代。例如:j:k表示j j+1-k-1 k,A(:

6、,j)表示矩阵A的第j歹U。6.输入超过一行的长句如果输入的语句太长,超出了一行,则在语句的末尾输入3个小圆点(),以表 明语句将延续到下一行。7.在一行内输入数个语句如果语句之间用豆号或分号隔开,则可以把数个语句放在一行内。例如:plo t(1,3,o),text(1,20,system 1),text(1,15,system 2)8.选择输出格式MATLAB中的所有计算都是以双精度方式完成的,但是显示输出可以是具有4个小 数位的定点输出。例如,对于向量x=1/3,0.00002MATLAB有下列输出0.3333 0.0000如果在矩阵中至少有一个元素不是严格的整数,则有多种可能的输出格式。

7、显示的 输出量可以用【File】菜单的【Preferences】命令设置,或用下列命令加以控制:fo rmat sho rt(0.3333 0.0000)fo rmat lo ng(0.33333333333333 0.00002000000000)fo rmat sho rt e(3.3333e-001 2.0000e-005)fo rmat lo ng e(3.333333333333333e-001 2.000000000000000e-005)9.退出MATLAB时如何保存变量当退出MATLAB时,工作空间中的所有变量都将消失。如果在退出之前输入命令 save,则所有的变量都被保存在磁

8、盘文件matlab.mat文件中。当再次进入MATLAB 时,命令lo ad将使工作空间恢复到以前的状态。如果要保存/恢复部分变量,可用如下命令:save文件名 变量名(变量名之间用空格分割)/lo ad文件名参见save命令的帮助文件。2.2 MATLAB 函数在当前的MATLAB 5.0及以上版本中,MATLAB函数的调用格式和其它编程语言 是不同的,其典型的调用格式为返回变量列表=func_name(输入变量列表)其中等号左边的变量为返回变量,等号右边的变量为输入变量。MATLAB允许在函 数调用时返回多个变量。而一个函数又可以由多种格式进行调用,例如bo de()函数可 以由下面的格式

9、调用Lmag,phase=bo de(num,den,w)其中bo de()函数用来求取或绘制系统的Bo de图,而系统在这里由传递函数分子 num和分母den表示,还可以用下面的格式调用此函数mag,phase=bo de(A,B,C,D,w)其中(A,B,C,D)为系统的状态方程模型。尽管两种调用格式是完全不同的,MATLAB 函数还是会自动识别到底是用哪种格式调用该函数的,从而得出正确的结论。在当前版本的控制系统工具箱中还允许用线性模型对象变量G来描述系统,例如mag,phase=bo de(G,w)MATLAB函数在返回变量的格式上也可以不同,例如若上面的语句中若没有返回变 量,则将自

10、动地绘制系统的Bo de图,否则返回计算结果数据。2.3绘制响应曲线MATLAB具有丰富的获取图形输出的程序集。命令plo t可以产生线性x-y图形(用命令lo glo g、semilo gx、semilo gy或po lar取代plo t,可以产生对数坐标图和极坐标 图)。所有这些命令的应用方式都是相同的,它们只对坐标轴的分度和数据的显示产生 影响。1.X-Y 图如果X和Y是同一长度的向量,则命令plo t(X,Y)将画出Y值对于X值的关系图。2.画多条曲线为了在一幅图上画出多条曲线,采用具有多个自变量的plo t命令:plo t(Xl,Yl,X2,Y2,-,Xn,Yn)变量X1,Y1,X2

11、,Y2等等是一些向量对。每一个X-Y对都可以图解表示出来,因而在 一幅图上形成多条曲线。多重变量的优点是它允许不同长度的向量在同一幅图上显示出 来,每一对向量采用不同的线型。在一幅图上画一条以上的曲线时,也可以利用命令ho ldo ho ld命令可以保持当前的 图形,并且防止删除和修改比例尺。因此,随后的一条曲线将会重叠地画在原曲线上。再次输入命令ho ld,会使当前的图形复原。3.加进网格线、图形标题、X轴标记和Y轴标记一旦在屏幕上显示出图形,就可以画出网格线,定出图形标题,并且标定x轴标记 和y轴标记。MATLAB中关于网格线、标题、X轴标记和Y轴标记的命令如下:grid(网格线)titl

12、e(图形标题)xlabel(X轴标记)ylabel(Y轴标记)4.在图形屏幕上书写文本为了在图形屏幕上的点(x,y)书写文本,采用命令:text(x,y,text)例如,利用语句text(3,0.45,sin t)将从点(3,0.45)开始,水平地写出sin to5.图形类型下列语句:plo t(x,y,x)将利用标记符号义画出一个点状图。MATLAB能够提供的线和点的类型如下:线的类型点的类型实线圆点*短划线-加号+虚线:星号*点划线圆圈0X号X6.颜色下列语句:plo t(X,Y,+g)表明用绿色“+”号划线。MATLAB提供的颜色如下:红色r绿色g蓝色b白色w无色i参见plo t的帮助文

13、件。7.自动绘图算法在MATLAB中,图形是自动定标的。在另一幅图形画出之前,这幅图形作为现行 图将保持不变,但是在另一幅图形画出后,原图形将被删除,坐标轴自动地重新定标。8.手工坐标定标如果需要在下列语句指定的范围内绘制曲线:V=x-min x-max y-min y-max则因输入命令axis(V),式中V是一个四元向量。axis(V)把坐标轴定在规定的范围内2.4 MATLAB语言的联机帮助功能下面的实验中,我们将较为详细地学习使用MATLAB的语言基础和控制系统仿 真,但是MATLAB的内容及其丰富,在学习和使用中,可以利用MATLAB的联机帮助 功能。MATLAB的联机帮助既可以由h

14、elp命令来直接获得,又可以由MATLAB图形界 面下的Help菜单来查询,还可以用lo o kfo r命令查询有关的关键词:help plo tlo o kfo r plo t3.MATLAB语言基础实验3.1实验一 MATLAB语言平台(随堂实验)一、实验目的1.学习了解MATLAB语言环境;2.练习MATLAB命令的基本操作;3.练习m文件的基本操作。二、实验内容1.学习了解MATLAB语言环境(1)MATLAB语言操作界面开机双击相应图标即可进入MATLAB命令窗口,如图1.1所示。在命令提示符位置 键入命令,完成下述练习。图 1.1 MATLAB 窗口(2)练习DOS相似命令MATL

15、AB语言与DOS操作系统有如下相似的命令,在操作界面上练习这些命令 dir dir(c:windo ws)type type expm.mcd cd c:matlab6p5help(3)MATLAB的数据格式合法的数据格式有:sho rt,lo ng,hex,sho rt e,lo ng e,ratio nal 等。键入a=pi;b=exp 由File/Preferences改变数据格式,观察变量值。(4)变量查询变量查询命令有who,who s,查询变量。(5)路径函数与搜索路径path 路径函数which 文件定位路径函数path列出MATLAB自动搜索路径清单,执行该命令。path(pa

16、th,ne wpath)addpath(newpath)用于在搜索路径清单中增加新的路径项,练习该命令。或由File/Set Path设置路径。说明:在命令窗口键入一命令并按下回车键,MATLAB就在搜索路径中搜索相应的 命令文件(内部命令和函数除外),找到后就执行该文件,若未找到,就给出错误提示 File xxxx no t fo und.”。(6)联机帮助键入help help阅读help函数的使用说明。键入help列出help项。查询前面使用过的命令help whohelp path阅读上述函数的功能、使用格式等。(7)字符串查询键入help lo o kfo r阅读MATLAB函数lo

17、 o kfo r的功能与使用方法,并使用该命令查询相应的关键词字 符串。(8)MATLAB语言演示键入demoMATLAB语言功能演示。2.练习MATLAB命令的基本操作(1)键入常数矩阵输入命令a=l 2 31a=l;2;3J比较显示结果有何不同。b=l 2 5Jb=l 2 5J;比较显示结果有何不同。(2)作循环命令程序 makcsum=O;fo r i=l:l:100makesum=makesum+i;end键入makesum,按回车键,观察计算结果。(3)分别执行下面命令:a=l 2 3;4 5 6;7 8 0Jpo ly(a)rank(a)det(a)trace(a)inv(a)ei

18、g(a)观察显示结果。使用联机帮助help查阅相应函数的意义和函数的格式。3.2实验二MATLAB数值运算(随堂实验)一、实验目的1.学习MATLAB的基本矩阵运算;2.学习MATLAB的点运算。二、实验内容在下面的实验操作中,认真执行每项操作,掌握其作用和目的。1.基本矩阵运算(1)创建数值矩阵键入a=l 2 3;4 5 6;7 8 9;观察a(3,2)a(:,D键入t=0:10;u=0:0.1:10;观察向量t,u的值。键入a(:,3)=2;3;4;a观察矩阵a的变化。键入b=l l+2i;3+4i 3;观察复数矩阵。(2)特殊矩阵键入a=o nes(3,3);b=zero s(2,2);

19、c=eye(4);magic(4);观察特殊矩阵。(3)矩阵运算键入a=0 1 0;0 0 1;-6-11-6;b=l 2;3 4;5 6;c=l 1 0;0 1 1;作矩阵乘运算:vl=c*a;v2=a*b;v3=c*a*b;v4=b*c;v5=c*b;矩阵乘方运算:aA2aA(l/2)矩阵加减运算:al=a+b*c;a2=c*b-a(l:2,l:2);a3=a(l:2,2:3)+c*b;矩阵右除(常规除):ar=a/b;矩阵左除:al=ab注意矩阵运算时的维数匹配。(4)矩阵特征完成如下矩阵特征运算:a inv(a)diag(a)po ly(a)rank(a)det(a)2.MATLAB的

20、点运算(1)练习点乘与点除al=ri 2;3 41;a2=0.2*al;观察al a21al.*a2 al./a2(点乘与点除是数组运算)(2)正弦、余弦函数t=0:2*pi/180:2*pi;yl=sin(t);y2=co s(t);y=yl.*y2;plo t(t,y yl y2J(3)复变函数w=0.1:0.1:2;tril(a)triu(a)trace(a)eig(a)gl=(l+0.5*w*i)/(l-0.5*w*i)g2=(l+0.5*w*i)./(l-0.5*w*i)plo t(g2);xlabel(real g2(w);ylabel(image g2(w)axis(square

21、)3.多项式运算(1)建立多项式向量ap=l 3 3 1b=-l-2-3bp=po ly(b)(2)多项式乘与根p=co nv(ap,bp)ro o t(p)(3)多项式运算a=l 2 3 4;b=l-1;c=a+zero s(1,length(a)-length(b),bpo ly2str(c,x)po lyvalm(a,3)4.代数方程组(1)给定方程组Ax=B Xnx 1,AnXn,BnX 1方程组的解x=AB o r x=AB方程为这时不能用第一种方法,A只能用于方阵,这时可用广义逆矩阵解:A=l 2 3;2 3 4;B=1;2J;x=pinv(A)*Bx=0.83330.3333-0

22、.16673.3实验三MATLAB绘图(随堂实验)一、实验目的1.学习MATLAB的各种二维绘图;2.学习MATLAB的三维绘图;3.学习MATLAB的绘图修饰(多种绘图,图形注释,绘图颜色,色图矩阵)。二、实验内容在下面的实验操作中,认真执行每项操作,掌握其作用和目的,每个命令的含义和 用法查看帮助文件。1.基本二维绘图(1)向量绘图x=0:2*pi/100:2*pi;y l=sin(2*x);y2=co s(2*x);plo t(x,yl)plo t(x,y2)plo t(x,yl,x,y2)保持作图:plo t(x,yl);ho ld o nplo t(x,y2);ho ld o ff矩

23、阵作图:plo t(x,yry2J)设定颜色与线型:plo t(x,yl,c:,x,y2,ro)多窗口绘图:figure(l);plo t(x,yl)figure(2);plo t(x,y2)子图绘图:subplo t(221);plo t(x,y 1)subplo t(222);plo t(x,y2)subplo t(223);plo t(x,y l,x,y l+y2)subplo t(224);plo t(x,y2,x,y 1-y2)复变函数绘图:w=0.01:0.01:10;g=l./(l+2*w*i);subplo t(121);plo t(g)subplo t(122);plo t(

24、real(g),imag(g)插值绘图:x=0:2*pi/8:2*pi;y=sin(x);plo t(x,y,o);ho ld o n;xi=0:2*pi/100:2*pi;yi=spline(x,y,xi);plo t(xi,yi,m)反白绘图与绘图背景色设定:whitebgwhitebg(b)whitebg(k)(2)函数绘图fplo t(sin,0 4*pi)f=sin(x);fplo t(f,0 4*pi)fplo t(sin(l/x),0.01 0.1,le-3)fplo t(Itan(x),sin(x),co s(x),-2*pi,2*pi,-2*pi,2*pi)(3)符号函数快捷

25、绘图:f=exp(-0.5*x)*sin(x)ezplo t(f,0,10J)f=xA2+yA2-9 ezplo t(f)axis equal2.多种二维绘图(1)半对数绘图(频率特性绘图)w=lo gspace(-l,1);g=20*lo gl0(l./(l+2*w*I)p=angle(1./(1+2*w*I)*180/pi subplo t(21 l);semilo gx(w,g);grid;subplo t(212);semilo gx(w,p);grid;(2)极坐标绘图 t=0:2*pi/180:2*pi;mo=co s(2*t);po lar(t,mo);(3)直方图绘图 t=O:

26、2*pi/8:2*pi;y=sin(t);bar(t,y);(4)离散棒图 t=O:2*pi/8:2*pi;y=sin(t);stem(t,y);(5)阶梯图横坐标对数分度幅值纵坐标取分贝相角纵坐标取度幅频特性子图,半对数绘图,加网线 相频特性子图,半对数绘图,加网线t=0:2*pi/8:2*pi;y=sin(t);stairs(t,y);(6)彗星绘图t=pi:pi/200:pi;co met(t,tan(sin(t)-sin(tan(t);3.图形注释fplo t(sin(t),co s(t),0,5);title(曲线)xlabel(时间 t);ylabel(,幅值 y);gtext(正

27、弦函数,);gtext(余项函数,);grid4.三维绘图(1)三维线图t=0:pi/50:10*pi;plo t3(sin(t),co s(t),t);co met3(sin(t),co s(t),t);(2)单变量高度网线图Z2力 1;1-1;Z4=Z2 Z2;Z2-Z2;Z8=Z4 Z4;Z4-Z4J;mesh(Z8)(3)3变量马鞍面网线图x=-4:0.5:4;y=x;X,Y=meshgrid(x,y);Z=X.A2-Y,A2;mesh(X,Y,Z)(4)圆锥面网线图tl=O:0.1:0.9;t2=0:0.1:2;r=tl,-t2+2;x,y,z=cylinder(r,40);mesh

28、(x,y,z)(5)视角修饰tl=O:0.1:0.9;t2=0:0.1:2;r=tl,-t2+2;x,y,z=cylinder(r,40);mesh(x,y,z)subplo t(2,2,l);mesh(x,y,z);view(0,0);subplo t(2,2,2);mesh(x,y,z);view(-20,20);subplo t(2,2,3);mesh(x,y,z);view(-30,30);subplo t(2,2,4);mesh(x,y,z);view(-40,40);(6)暖色(ho t)色图peaks(20);axis(o ff);co lo rmap(ho t);co lo r

29、bar(ho riz);(7)光照修饰surfl(peaks(20);co lo rmap(gray);shading interp;(8)透视与消隐P=peaks(30);subplo t(121);mesh(P);hidden o ff;subplo t(122);mesh(P);hidden o n;3.4实验四MATLAB句柄绘图(自学)一、实验目的1.学习图形对象(griphics)和句柄(handle)的基本知识;2.学习图形对象属性(o bject pro perties)的获得与设置;3.基本句柄绘图(handle griphics)操作;二、句柄绘图的基本原理1.基本图形对象

30、根屏幕(Ro o t)图形窗口(Figure)界面控制(Uico ntro l)界面菜单(Uimenu)轴(Axes)线(Line)块(Patch)面(Surface)像(Image)字(Text)2.图形对象创建函数h=figure(n);h=uico ntro l(pro perty,value);h=uimenu(pro perty,value);h=axes(po sitio n,left,bo tto m,width,height);h=line(x,y,z);画线h=patch(x,y,z,c);h=surface(x,y,z,c);h=image(x);h=text(x,y,st

31、ring);字符串n为窗口号数确定控制类型确定菜单形式丁一周对象的位置与大小x,y用于二维画线,x,y,z用于三维x,y,z定义多边形,c确定填充颜色 x,y,z确定三维曲面,c为颜色矩阵 x为图像数据矩阵x,y确定标注位置,,string为标注图形对象创建函数均为底层函数,注意变量格式。3.图形对象的句柄句柄(handle)是图形对象的标识代码,图形对象的属性信息全部包含在句柄中。各图形对象句柄的数据格式为:对象名称根屏幕图形窗口其它各对象4.句柄属性的设置与修改句柄数据格式0整数,表示窗口号数,对应的浮点数如1号窗口、2号窗口等句柄代码含有该对象的属性信息,因此需要通过句柄中属性的设置与修

32、改处理对象 属性的变更。MATLAB设置了下面两个函数完成此任务:get(H)获得该对象句柄的全部属性get(H,Pro pertyName,)获得该对象句柄的某属性set(H)查阅该对象句柄的全部可设定值set(H,Pro pertyName,Pro perty Value)将该对象句柄的某属性设置为新值三、实验内容1.作直线,并将线的颜色改为红色hl=line(0:10,0:10)set(hl,co lo r,0 0)hf=gcfha=gcaset(hl,Co lo rJ*)2.在创建对象时设置对象属性%创建线对象,返回句柄值hl%将线的颜色改为红色%获得当前1号窗口的句柄值%获得当前“轴

33、”的句柄值%将“线”句柄设为色序的其他颜色(1)二维绘图x=0:pi/24:2*pi%?ax=axes(bo x,o n,aspectratio,l nanj)%设置轴对象属性hl l=line(sin(x),co s(x),line width,5,lines tyleco lo r,c)%设置轴线象属性hl l=line(sin(20*x),co s(20*x),linestyle,:,co lo r(2)三维绘图x,y,z=sphere(30)hs=surf(x,y,z,faceco lo r,c,line width,1,edgeco lo r%设置面线象属性3.简单动画制作%正弦曲线

34、运动动画t=0:pi/48:4*pi;y=sin(t);plo t(t,y,g,);%由线对象创建小球%定义色、型、点的大小、擦除方式n=length(t);h=line(co lo r,0 1,linestyle,markersize,50,erasemo de,xo r);i=l;r=0;while rn;i=l;r=r+1;end;4.执行下列程序,阅读程序清单,了解程序编制过程:mo desxpquad spinner12个特征峰面函数超级方块虚幻线4.控制理论仿真实验4.1 实验五控制系统的建模一、实验目的1.学习在MATLAB命令窗口建立系统模型的方法;2.学习如何在二种模型之间相

35、互转换;3.学习如何用SIMULINK仿真工具建模。二、相关知识L传递函数模型设连续系统的传递函数为:G=3 m=%丁+61+.+”“5+6”den(s)aos+axsnx H-an_xs-sran设离散系统的传递函数为:G=:+%z+粼denz aozn+az+%z+a”则在MATLAB中,都可直接用分子/分母多项式系数构成的两个向量num与den构 成的矢量组表示系统,即Mwm=Z?0,den 4/,。,。建立控制系统的传递函数模型(对象)的函数为tf(),调用格式为:sys=tf num,den)sys=tf(num,dents)sys=tf(o thersys)sys=tf(/,返回的

36、变量sys为连续系统的传递函数模型。sys=tf(机,6口$)返回的变量sys为离散系统的传递函数模型,Ts为采样周期,当Ts=-1或Ts=时,系统的采样周期未定义。sys=tf(o thersys)将任意的控制系统对象转换成传递函数模型。离散系统的传递函数的表达式还有一种表示为zT的形式(即DSP形式),转换为DSP形式的函数命令为filt。,调用格式为:sys=filt(nw/n,Jen)sys=filt(“/ra,de,Ts)sys=filt(也函数用来建立一个采样时间未指定的DSP形式传递函数。sys=filt(/n,de凡Ts)函数用来建立一个采样时间为Ts的DSP形式传递函数。2.

37、零极点增益模型设连续系统的零极点增益模型传递函数为:G(s)=Jf)Gf)设离散系统的零极点增益模型传递函数为:G(z)=(z-z)(z-z).(z-z,“)则在MATLAB中,都可直接用向量Z,p,左构成的矢量组z,p,知表示系统,即z-z(),zmP=O,P1,pk=k在MATLAB中,用函数zpk()来建立控制系统的零极点增益模型,调用格式为:sys=zpk(z,p sys=zpk(z,p,k,Ts)sys=zpk(o thersys)sys=zpk(z,p,A)返回的变量sys为连续系统的零极点增益模型。sys=zpk(z,p,A,Ts)返回的变量sys为离散系统的零极点增益模型,Ts

38、含义同前。sys=zpk(o thersys)将任意的控制系统对象转换成零极点增益模型模型。3.状态空间模型设连续系统的状态空间模型为:*%(,)=Ax(,)+Bu(t)y=Cr 设离散系统的状态空间模型为:x(k+1)=Ax(k)+Bu(k)y(k)=Cx(je)+Du(k)在MATLAB中,连续与离散系统都可直接用矩阵组A,B,C,D表示系统。在MATLAB中,用函数ss()来建立系统的状态空间模型,调用格式为:sys=ss(a,b,c,d)sys=ss(a,b,c,d,Ts)sys=ss(o thersys)将任意的控制系统对象转换成状态空间模型。sys=ss(a,b,c,d)返回的变量

39、sys为连续系统的状态空间模型。sys=ss(a,b,c,d,Ts)返回的变量sys为离散系统的状态空间模型,Ts含义同前。4.三种系统数学模型之间的转换解决实际问题时,常常需要对自控系统的数学模型进行转换,MATLAB提供了用于 转换的函数,如下表所示:函数名函数功能ss2tf将系统状态空间模型转换为传递函数模型ss2zp将系统状态空间模型转换为零极点增益模型tf2ss将系统传递函数模型转换为状态空间模型tf2zp将系统传递函数转换为零极点增益模型zp2ss将系统零极点增益模型转换为状态空间模型zp2tf将系统零极点增益模型转换为传递函数模型5.环节方框图的化简1.环节串联连接的化简-Gi(

40、s)-G2(s)对于上图的两个环节串联,它们的传递函数分别为:G(s)=numl(s)denl(s)G2(s)=num2(s)de2(s)则两个环节串联连阶的等效传递函数为G(s)=GG)G2(s)numl(s)num2(s)denl(s)den2(s)在MATLAB中,实现两个环节传递函数串联连接的运算为:sysl=tf(numl,denl)sys2=tf(num2,den2)sys=sysl*sys22.环节并联连接的化简实现两个环节传递函数串联连接的运算为:sys=sysl+sys23.反馈环节的化简实现反馈环节化简的运算为:sys=feedback(sys 1,sys2,sign)式中

41、sign为反馈符号,+表示正反馈,为负反馈。缺省为。6.用SIMULINK仿真工具建模MATLAB集成有SIMULINK工具箱,为用户提供了用方框图进行系统建模的图形 窗口。1.建立新的结构图文件在matlab环境下,点击simulink图标,或输入命令simulink,启动simulink程序,出现Simulink模块库,如图3.1所示。Simulink Library Browser-Inl x|File Edit View Help百 TS FindContinuous:s i mul i nk 3/Cont i nuousB 0 SimulinkContinuousDiscreteFu

42、nctions&Tables MathNonlinearSignals&Systems SinksSourcesSubsystems因 0 CDMA Reference Blockset 由曼 Communications Blockset Q Control System Toolbox 由装 DSP Blockset 由 Developers Kit for TI DSP 田 Dials&Gauges Blockset 由 H Fixed-Point Blockset 由励 Fuzzy Logic Toolbox:H MPC Blocks+Motorola DSP BlocksetRead

43、ySIHSContinuousDi screteFunctions&TablesMathNonlinearSignals&SystemsSinks空空织空空匆维组组图 3.1 SIMULINK 窗口点击或选择“File”菜单中的“New”选项下的子选项“Mo del”,出现“untitled”空白文档。2.打开结构图模块组在Simulink Library Bro wser中,点击simulink边上的+就有下列模块组:So urces(输入信号单元模块组)Sinks(数据输出单元模块组)Co ntio nuo us(线性单元模块组)Discrete(离散单元模块组)用鼠标单击任何一个模块组的

44、图标,即可打开该模块组,从中选择仿真实验所需的 单元模块。3.建立用户的仿真结构图将所需的结构图模块用鼠标拖到新建立的结构图文件的空白处,依次完成仿真结构 图。用鼠标作结构图单元之间的连线,按结构图模块的信号连接关系,完成仿真试验的 结构图。1)连线方法:一般是选中一个输出口,按下鼠标左键拖动至另一个模块的输入口,快捷的方法是先单击选中源模块,按下Ctrl键,再单击目标模块。画信号的分支线,用 鼠标右键单击信号线并拖动。2)模块的旋转和翻转:选中模块,右击鼠标,打开Fo rmat子菜单,选择Flip Blo ck Ro tate Blo ck Flip Name 等完成响应的功能。4.结构图单

45、元参数设置用鼠标器双击任何一个结构图单元即激活结构图单元的参数设置窗口。5.仿真参数设置选择simulink”菜单项中的a Simulink parameters,即出现仿真参数设置子窗 口,用于设置仿真参数,例如,仿真起始时间,仿真终止时间,仿真布长,允许误差,返回变量名称等。6.仿真操作选中“simulink”中的“Start”启动系统的仿真。在系统仿真中如显示器不能很好 地展现波形,可以随时修改显示器的定标,达到满意为止。二、实验内容1.练习上面介绍的各种函数和命令2.给定控制系统的传递函数为3G(s)=-;-s3+3/+5s+7在MATLAB中建立该系统的传递函数模型、零极点增益模型和

46、状态变量模型。3.在SIMULINK中建立如下图所示的结构图:设置SIMULINK仿真参数,观察示波器的波形。换用其它输入信号,观察示波器的波形。用命令方式求出上图的闭环传递函数。4.2实验六控制系统的稳定性分析实验一、实验目的1.学习控制系统稳定性分析的MATLAB实现;2.掌握控制系统的稳定判据;二、相关知识1.控制系统的特征多项式与特征方程;控制系统的传递函数为:氏5+一7+。*15+粼=M(s)a0Sn+。1丁7+%+(5)线性系统的特征方程为:D(.v)=aos+as+.+an_xs+an=02.控制系统的稳定性判据稳定判据的方法有:代数稳定判据,根轨迹法,Bo de图法判定系统的稳

47、定性等等。3.有关的MATLAB函数ro o ts(P):是求多项式根函数。P为特征多项式降幕排列的系数向量。rlo cus(num,den,k):作系统的根轨迹函数,无开环增益k,则k的范围自动设定,有 k,则k的范围可以由人工给定。k,po les=rlo cfind(num,den),执行该命令前,先作根轨迹图,会出现提示,要求在根 轨迹上选一点,会出现“+”标记。在MATLAB命令窗口会有k和po les的值。Gm,Pm,Wcp,Wcg=margin(sys0):在命令窗口得到系统syso的频域性能指标;margin(syso):MATLAB绘制系统的伯德图,计算伯德图上的稳定裕度,并

48、将计算 结果表示在图的上方。bo de(syso):MATLAB绘制系统的伯德图,但无系统的分析结果。4.m文件和函数m文件是使用MATLAB语言编写的程序代码文件。之所以称为m文件,是因为这 种文件都是以“.m”作为文件的扩展名。我们可以通过任何文本编辑器来生成或编辑m 文件,但是在MATLAB提供的编辑器里生成或编辑m文件最为简单、方便且高效。m 文件可以分为两种类型,一种是脚本(或称命令)文件,另一种是函数文件。脚本文件类似于C语言的过程,就是将一系列命令写在一个文件中,它的书写方法 与命令行执行程序的方式相同。函数也是以“.m”作为文件的扩展名。不同于m文件,函数带有输入输出参数,书

49、写格式为functio n 返回变量列表=函数名(输入变量列表)%注释行主程序体其中functio n为函数的保留字,函数名也要符合变量的命名规则,保存函数文件 时,文件名应与函数名同名。注释行是对函数的功能、调用格式和参数的说明。三、实验内容及要求1.已知系统的开环传递函数:G(s)=100 叱劣 s(s+l)(s+20)用求根的方法来判别闭环系统的稳定性。编写程序,求特征多项式及其根(不能手工计算),判断系统的稳定性。2.已知一个单位负反馈开环传递函数G(S),当k分别为1、5、10、20时闭环系统 的稳定性。G(s)=k(s+3)s(s+5)(s+6)(52+2s+2)以k为输入参数,编

50、写函数,画出上述k值对应的闭环根,并判断系统的稳定性。3.已知单位负反馈系统的传递函数为2 7G1G)=3 一/s+5s+4s用Bo de图法判断系统闭环的稳定性。编写程序,并运行程序,得出相关的数据。2 7G2(s)、+5 j4.3实验七控制系统的时域分析实验一、实验目的1.学习控制系统时域分析的MATLAB实现。2.掌握控制系统的时域响应及性能指标。二、相关知识有关的MATLAB函数:damp(den)step(sys)y,t,x=step(sys)impulse(sys)y,t,x=impulse(sys)initial(sys,xO)y,t,x=initial(sys,xO)lsim(

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

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁