ImageVerifierCode 换一换
格式:DOCX , 页数:47 ,大小:207.13KB ,
资源ID:1391325      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1391325.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(自动控制原理MATLAB仿真实验指导书.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

自动控制原理MATLAB仿真实验指导书.docx

1、自动控制原理MATLAB仿真实验指导书MATLAB语言与控制系统仿真实验1.说明MATLAB语言与控制系统仿真实验指导书包括四部分内容:MATLAB语言基础、MATLAB语言基础实验、控制理论仿真实验和实验作业。要求每位学生完成规定的实验内容后,独立做完实验作业,以巩固知识,增强应用能力。本课程上机实验学时为8学时,建议分配如下:实验内容学时数实验一 MATLAB语言平台0.212211上述学时仅为参考学时,学生可根据自己对MATLAB的熟悉程度作适当的调整。语言简介MATLAB 是MathWorks 公司于1982 年推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和

2、图形显示于一体,构成了一个方便的、界面友好的用户环境。MATLAB 的推出得到了各个领域专家学者的广泛关注,其强大的扩展功能为各个领域的应用提供了基础,现已成为国际控制界应用最广的首选计算机工具。控制界的很多知名学者度为其擅长的领域写出工具箱,而其中很多工具箱已经成为该领域的标准。和其它的程序设计语言不同,MATLAB 语言的基本变量单元是复数矩阵,其矩阵处理功能和图形处理功能是其最显著的特色,这里介绍一些简单实用的MATLAB 命令及操作。2.1 MATLAB 的应用基础1. 如何应用MATLAB通常以命令驱动方式应用MATLAB 。当输入单个命令时,MATLAB 会立即对其进行处理,并且显

3、示处理结果。MATLAB 也能够执行存储在文件中的命令序列。通过键盘输入的命令,可以用上下箭头键存取。2. MATLAB 的变量MATLAB 的一个特点是变量在应用前不必确定维数。在MATLAB 中,变量一旦被采用,会自动产生(如果必要,变量的维数以后还可改变),并保留在存储器中。为了得到工作空间内的变量清单,可以通过键盘输入命令 who ,当前存放在工作空间内的所有变量便会显示在屏幕上。命令 clear 能从工作空间中清除所有非永久性变量。如果只需要从工作空间中清除某个特定变量,比如“x”,则应输入命令 clear x。3. 以“%”开始的程序行在MATLAB 中以“%”开始的行表示注解和说

4、明,这些注解和说明是不执行的。如果注解和说明需要一行以上程序行,则每一行均需以“%”为起始。4. 分号操作符分号用来取消打印(显示)。如果语句的最后一个符号是分号,则打印被取消,但是命令仍在执行,而结果不再显示。此外,在输入矩阵时,分号表示一行的结束。5. 冒号操作符冒号操作符在MATLAB 中起着重要作用。该操作符用来建立行向量,赋予矩阵下标和规定叠代。例如:j : k 表示 j j+1 k-1 k,A( : , j ) 表示矩阵A 的第 j 列。6. 输入超过一行的长句如果输入的语句太长,超出了一行,则在语句的末尾输入3个小圆点(),以表明语句将延续到下一行。7. 在一行内输入数个语句如果

5、语句之间用豆号或分号隔开,则可以把数个语句放在一行内。例如:plot ( 1 , 3 , o) , text ( 1 , 20 , system 1 ) , text ( 1 , 15 , system 2 )8. 选择输出格式MATLAB 中的所有计算都是以双精度方式完成的,但是显示输出可以是具有4个小数位的定点输出。例如,对于向量 x = 1/3 , 0.00002 MATLAB 有下列输出x = 0.3333 0.0000 如果在矩阵中至少有一个元素不是严格的整数,则有多种可能的输出格式。显示的输出量可以用【File】菜单的【Preferences】命令设置,或用下列命令加以控制: fo

6、rmat short (0.3333 0.0000 ) format long () format short e () format long e ()9. 退出MATLAB 时如何保存变量当退出MATLAB 时,工作空间中的所有变量都将消失。如果在退出之前输入命令 save ,则所有的变量都被保存在磁盘文件 matlab.mat 文件中。当再次进入MATLAB 时,命令 load 将使工作空间恢复到以前的状态。如果要保存/恢复部分变量,可用如下命令: save 文件名 变量名(变量名之间用空格分割)/load 文件名参见save命令的帮助文件。2.2 MATLAB 函数在当前的MATLAB

7、 5.0 及以上版本中,MATLAB 函数的调用格式和其它编程语言是不同的,其典型的调用格式为返回变量列表=func_name(输入变量列表)其中等号左边的变量为返回变量,等号右边的变量为输入变量。MATLAB 允许在函数调用时返回多个变量。而一个函数又可以由多种格式进行调用,例如 bode ( ) 函数可以由下面的格式调用mag,phase=bode(num,den,w)其中bode( ) 函数用来求取或绘制系统的Bode图,而系统在这里由传递函数分子num和分母den表示,还可以用下面的格式调用此函数mag,phase=bode(A,B,C,D,w)其中(A,B,C,D)为系统的状态方程模

8、型。尽管两种调用格式是完全不同的,MATLAB 函数还是会自动识别到底是用哪种格式调用该函数的,从而得出正确的结论。在当前版本的控制系统工具箱中还允许用线性模型对象变量G来描述系统,例如mag,phase=bode(G,w)MATLAB 函数在返回变量的格式上也可以不同,例如若上面的语句中若没有返回变量,则将自动地绘制系统的Bode图,否则返回计算结果数据。2.3 绘制响应曲线 MATLAB 具有丰富的获取图形输出的程序集。命令plot可以产生线性x-y图形(用命令loglog、semilogx、semilogy或polar取代plot,可以产生对数坐标图和极坐标图)。所有这些命令的应用方式都

9、是相同的,它们只对坐标轴的分度和数据的显示产生影响。1. X-Y图如果X和Y是同一长度的向量,则命令 plot(X,Y)将画出Y值对于X值的关系图。2. 画多条曲线为了在一幅图上画出多条曲线,采用具有多个自变量的plot命令: plot(X1,Y1,X2,Y2,Xn,Yn)变量X1,Y1,X2,Y2等等是一些向量对。每一个X-Y对都可以图解表示出来,因而在一幅图上形成多条曲线。多重变量的优点是它允许不同长度的向量在同一幅图上显示出来,每一对向量采用不同的线型。在一幅图上画一条以上的曲线时,也可以利用命令hold。hold命令可以保持当前的图形,并且防止删除和修改比例尺。因此,随后的一条曲线将会

10、重叠地画在原曲线上。再次输入命令hold,会使当前的图形复原。3. 加进网格线、图形标题、X轴标记和Y轴标记一旦在屏幕上显示出图形,就可以画出网格线,定出图形标题,并且标定x轴标记和y轴标记。MATLAB 中关于网格线、标题、X轴标记和Y轴标记的命令如下: grid(网格线) title(图形标题) xlabel(X轴标记) ylabel(Y轴标记)4. 在图形屏幕上书写文本为了在图形屏幕上的点(x,y)书写文本,采用命令: text(x,y,text)例如,利用语句 text(3,0.45,sin t)将从点(3, 0.45)开始,水平地写出 sin t。5. 图形类型下列语句: plot(

11、x,y,x)将利用标记符号画出一个点状图。MATLAB 能够提供的线和点的类型如下:线的类型点的类型实线-圆点.短划线-加号+虚线:星号*点划线-.圆圈o号x6. 颜色下列语句: plot(X,Y,+g)表明用绿色“+”号划线。MATLAB 提供的颜色如下:红色r绿色g蓝色b白色w无色i参见plot的帮助文件。7. 自动绘图算法在MATLAB 中,图形是自动定标的。在另一幅图形画出之前,这幅图形作为现行图将保持不变,但是在另一幅图形画出后,原图形将被删除,坐标轴自动地重新定标。8. 手工坐标定标如果需要在下列语句指定的范围内绘制曲线: V=x-min x-max y-min y-max则因输入

12、命令 axis(V),式中V是一个四元向量。 axis(V)把坐标轴定在规定的范围内。2.4 MATLAB 语言的联机帮助功能下面的实验中,我们将较为详细地学习使用MATLAB 的语言基础和控制系统仿真,但是MATLAB 的内容及其丰富,在学习和使用中,可以利用MATLAB的联机帮助功能。MATLAB的联机帮助既可以由help命令来直接获得,又可以由MATLAB图形界面下的Help菜单来查询,还可以用lookfor命令查询有关的关键词: help plot lookfor plot实验一 MATLAB语言平台(随堂实验)一、实验目的1. 学习了解MATLAB语言环境;2. 练习MATLAB命令

13、的基本操作;3. 练习m文件的基本操作。二、实验内容1. 学习了解MATLAB语言环境(1)MATLAB语言操作界面开机双击相应图标即可进入MATLAB命令窗口,如图1.1所示。在命令提示符位置键入命令,完成下述练习。图1.1 MATLAB窗口(2)练习DOS相似命令MATLAB语言与DOS操作系统有如下相似的命令,在操作界面上练习这些命令。dir dir(c:windows)type type cd cd c:matlab6p5help(3)MATLAB的数据格式合法的数据格式有:short,long,hex,short e,long e,rational等。键入 a=pi;b=exp(1)

14、由File/Preferences改变数据格式,观察变量值。(4)变量查询变量查询命令有 who,whos,查询变量。(5)路径函数与搜索路径path 路径函数which 文件定位路径函数path列出MATLAB自动搜索路径清单,执行该命令。path(path,newpath)addpath(newpath)用于在搜索路径清单中增加新的路径项,练习该命令。或由File/Set Path设置路径。说明:在命令窗口键入一命令并按下回车键,MATLAB就在搜索路径中搜索相应的命令文件(内部命令和函数除外),找到后就执行该文件,若未找到,就给出错误提示“File xxxx not found.”。(6

15、)联机帮助键入help help阅读help函数的使用说明。键入help列出help项。查询前面使用过的命令help whohelp path阅读上述函数的功能、使用格式等。(7)字符串查询键入help lookfor阅读MATLAB函数lookfor的功能与使用方法,并使用该命令查询相应的关键词字符串。(8)MATLAB语言演示键入demoMATLAB语言功能演示。MATLAB命令的基本操作(1)键入常数矩阵输入命令a=1 2 3a=1 ;2 ;3比较显示结果有何不同。b=1 2 5b=1 2 5;比较显示结果有何不同。(2)作循环命令程序 makesum=0; for i=1:1:100

16、makesum=makesum+i; end键入makesum,按回车键,观察计算结果。(3)分别执行下面命令: a=1 2 3;4 5 6;7 8 0 poly(a) rank(a) det(a) trace(a) inv(a) eig(a)观察显示结果。使用联机帮助help查阅相应函数的意义和函数的格式。3.2 实验二 MATLAB数值运算(随堂实验)一、实验目的1.学习MATLAB的基本矩阵运算;2.学习MATLAB的点运算。二、实验内容在下面的实验操作中,认真执行每项操作,掌握其作用和目的。(1)创建数值矩阵键入a=1 2 3;4 5 6;7 8 9;观察a(3,2)a(:,1)键入t

17、=0:10;u=0:0.1:10;观察向量t,u的值。键入a(:,3)=2;3;4;a观察矩阵a的变化。键入b=1 1+2i;3+4i 3;观察复数矩阵。(2)特殊矩阵键入a=ones(3,3);b=zeros(2,2);c=eye(4);magic(4);观察特殊矩阵。(3)矩阵运算键入a=0 1 0;0 0 1;-6 -11 -6;b=1 2;3 4;5 6;c=1 1 0;0 1 1;作矩阵乘运算:v1=c*a;v2=a*b;v3=c*a*b;v4=b*c;v5=c*b;矩阵乘方运算:a2a(1/2)矩阵加减运算:a1=a+b*c;a2=c*b-a(1:2,1:2);a3=a(1:2,2

18、:3)+c*b;矩阵右除(常规除):ar=a/b;矩阵左除:al=ab注意矩阵运算时的维数匹配。(4)矩阵特征完成如下矩阵特征运算:a inv(a) diag(a) tril(a) triu(a)poly(a) rank(a) det(a) trace(a) eig(a)2.MATLAB的点运算(1)练习点乘与点除a1=1 2;3 4;a2=0.2*a1;观察a1 a2a1.*a2 a1./a2(点乘与点除是数组运算)(2)正弦、余弦函数t=0:2*pi/180:2*pi;y1=sin(t);y2=cos(t);y=y1.*y2;plot(t,y y1 y2(3)复变函数w=0.1:0.1:2

19、;g1=(1+0.5*w*i)/(1-0.5*w*i)g2=(1+0.5*w*i)./(1-0.5*w*i)plot(g2);xlabel(real g2(w);ylabel(image g2(w)axis(square)(1)建立多项式向量ap=1 3 3 1b=-1 -2 -3bp=poly(b)(2)多项式乘与根p=conv(ap,bp)root(p)(3)多项式运算a=1 2 3 4;b=1 -1;c=a+zeros(1,length(a)-length(b),bpoly2str(c,x)polyvalm(a,3)(1)给定方程组 Ax=B xn1,Ann,Bn1方程组的解 x=A-1

20、B or x=AB方程为 这时不能用第一种方法,A-1只能用于方阵,这时可用广义逆矩阵解: A=1 2 3;2 3 4;B=1;2; x=pinv(A)*B x=3.3 实验三 MATLAB 绘图(随堂实验)一、实验目的1.学习MATLAB的各种二维绘图;2.学习MATLAB的三维绘图;3.学习MATLAB的绘图修饰(多种绘图,图形注释,绘图颜色,色图矩阵)。二、实验内容在下面的实验操作中,认真执行每项操作,掌握其作用和目的,每个命令的含义和用法查看帮助文件。(1)向量绘图x=0:2*pi/100:2*pi;y1=sin(2*x);y2=cos(2*x);plot(x,y1)plot(x,y2

21、)plot(x,y1,x,y2)保持作图:plot(x,y1);hold onplot(x,y2);hold off矩阵作图:plot(x,y1 y2)设定颜色与线型:plot(x,y1,c:,x,y2,ro)多窗口绘图:figure(1);plot(x,y1)figure(2);plot(x,y2)子图绘图:subplot(221);plot(x,y1)subplot(222);plot(x,y2)subplot(223);plot(x,y1,x,y1+y2)subplot(224);plot(x,y2,x,y1-y2)复变函数绘图:w=0.01:0.01:10;g=1./(1+2*w*i)

22、;subplot(121);plot(g)subplot(122);plot(real(g),imag(g)插值绘图:x=0:2*pi/8:2*pi;y=sin(x);plot(x,y,o);hold on;xi=0:2*pi/100:2*pi;yi=spline(x,y,xi);plot(xi,yi,m)反白绘图与绘图背景色设定:whitebgwhitebg(b)whitebg(k)(2)函数绘图fplot(sin,0 4*pi)f=sin(x);fplot(f,0 4*pi)fplot(sin(1/x),0.01 0.1,1e-3)fplot(tan(x),sin(x),cos(x),-2

23、*pi,2*pi,-2*pi,2*pi)(3)符号函数快捷绘图:f=exp(-0.5*x)*sin(x)ezplot(f,0,10)f=x2+y2-9ezplot(f)axis equal(1)半对数绘图(频率特性绘图)w=logspace(-1,1); 横坐标对数分度g=20*log10(1./(1+2*w*I) 幅值纵坐标取分贝p=angle(1./(1+2*w*I)*180/pi 相角纵坐标取度subplot(211);semilogx(w,g);grid; 幅频特性子图,半对数绘图,加网线subplot(212);semilogx(w,p);grid; 相频特性子图,半对数绘图,加网线

24、(2)极坐标绘图t=0:2*pi/180:2*pi;mo=cos(2*t);polar(t,mo);(3)直方图绘图t=0:2*pi/8:2*pi;y=sin(t);bar(t,y);(4)离散棒图t=0: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;comet(t,tan(sin(t)-sin(tan(t);fplot(sin(t),cos(t),0,5);title(曲线)xlabel(时间t);ylabel(幅值y);gtext(正弦函数);

25、gtext(余项函数);grid(1)三维线图t=0:pi/50:10*pi;plot3(sin(t),cos(t),t);comet3(sin(t),cos(t),t);(2)单变量高度网线图Z2=1 1 ;1 1;Z4=Z2 Z2;Z2 Z2;Z8=Z4 Z4;Z4 Z4;mesh(Z8)(3)3变量马鞍面网线图x=-4:0.5:4;y=x;X ,Y=meshgrid(x,y);Z=X.2-Y.2;mesh(X,Y,Z)(4)圆锥面网线图t1=0:0.1:0.9;t2=0:0.1:2;r=t1,-t2+2;x,y,z=cylinder(r,40);mesh(x,y,z)(5)视角修饰t1=

26、0:0.1:0.9;t2=0:0.1:2;r=t1,-t2+2;x,y,z=cylinder(r,40);mesh(x,y,z)subplot(2,2,1);mesh(x,y,z);view(0,0);subplot(2,2,2);mesh(x,y,z);view(-20,20);subplot(2,2,3);mesh(x,y,z);view(-30,30);subplot(2,2,4);mesh(x,y,z);view(-40,40);(6)暖色(hot)色图peaks(20);axis(off);colormap(hot);colorbar(horiz);(7)光照修饰surfl(peak

27、s(20);colormap(gray);shading interp;(8)透视与消隐P=peaks(30);subplot(121);mesh(P);hidden off;subplot(122);mesh(P);hidden on;3.4 实验四 MATLAB句柄绘图(自学)一、实验目的1.学习图形对象(griphics)和句柄(handle)的基本知识;2.学习图形对象属性(object properties)的获得与设置;3.基本句柄绘图(handle griphics)操作;二、句柄绘图的基本原理根屏幕(Root)图形窗口(Figure)界面控制(Uicontrol)界面菜单(Ui

28、menu)轴(Axes)线(Line)块(Patch)面(Surface)像(Image)字(Text)h=figure(n); n为窗口号数h=uicontrol(property,value); 确定控制类型h=uimenu(property,value); 确定菜单形式h=axes(position,left,bottom,width,height); 丁一周对象的位置与大小h=line(x,y,z) ; x,y用于二维画线,x,y,z用于三维画线h=patch(x,y,z,c); x,y,z定义多边形,c确定填充颜色h=surface(x,y,z,c); x,y,z确定三维曲面,c为颜色矩阵h=image(x); x为图像数据矩阵h=text(x,y,string); x,y确定标注位置,string为标注字符串图形对象创建函数均为底层函数,注意变量格式。句柄(handle)是图形对象的标识代码,图形对象的属性信息全部包含在句柄中。各图形对象句柄的数据格式为:对象名称

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2