实验一 指导书 MATLAB 在控制系统模型建立与仿真中的应用_第1页
实验一 指导书 MATLAB 在控制系统模型建立与仿真中的应用_第2页
实验一 指导书 MATLAB 在控制系统模型建立与仿真中的应用_第3页
实验一 指导书 MATLAB 在控制系统模型建立与仿真中的应用_第4页
实验一 指导书 MATLAB 在控制系统模型建立与仿真中的应用_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一MATLAB在控制系统模型建立与仿真中的应用、MATLAB基本操作与使用实验目的熟悉MATLAB工作环境平台及其各个窗口,掌握MATLAB语言的基本规定,MATLAB图形绘制功能、M文件程序设计。学习使用MATLAB控制系统工具箱中线性控制系统传递函数模型的相关函数。实验仪器PC计算机一台,MATLAB软件1套3.实验内容1)MATLAB工作环境平台3.实验内容1)MATLAB工作环境平台CommandWindow□回冈FileEdit¥iewWebWindowHelp?CurrentDirectory:D:'>setup_6p5^^ork'lzikongLaunohF'adMATLAIiLaunohF'adMATLAIiToolboseeSimulinkBlocksetsComrrHndWindowUEingToolbonFathCache."helptth_匚:玄匚hm"formoreinfo.__WorkspaceCurrentDirectoryLaunchPadCornrrandHEtory%—7/05/085:38AM—%,…%—7/05/085:38AM—%,…、,.AU1应图1在央文Windows平台%—7/0T/088:51AM—%v的MATLAB6.5MATLAB工作平台O①“命t令窗口(CommandWindow)命令窗口是对MATLAB进行操作的主要载体,默认的情况下,启动MATLAB时就会打开命令窗口,显示形式如图1所示。一般来说,MATLAB的所有函数和命令都可以在命令窗口步。命令行操作实现了对程序中执行。掌握MALAB命令行操作是走入MATLAB世界的第设计而言简单而又重要的人机交互,通过对命令行操作,避免了编程序的麻烦,体现了步。命令行操作实现了对程序MATLAB所特有的灵活性。在运行MATLAB后,当命令窗口为活动窗口时,将出现一个光标,光标的左侧还出现提示符“〉〉”,表示MATLAB正在等待执行命令。注意:每个命令行键入完后,都必须按当需要处理相当繁琐的计算时,可能在一行之内无法写完表达式,可以换行表示,此时需要使用续行符“„”否则MATLAB将只计算一行的值,而不理会该行是否已输入完毕。使用续行符之后MATLAB会自动将前一行保留而不加以计算,并与下一行衔接,等待完整输入后再计算整个输入的结果。在MATLAB命令行操作中,有一些键盘按键可以提供特殊而方便的编辑操作。比如:“f”可用于调出前一个命令行,“「'可调出后一个命令行,避免了重新输入的麻烦。当然下面即将讲到的历史窗口也具有此功能。可用于调出前一个命令行,历史窗口(CommandHistory)历史命令窗口是MATLAB6新增添的一个用户界面窗口,默认设置下历史命令窗口会保留自安装时起所有命令的历史记录,并标明使用时间,以方便使用者的查询。而且双击某一行命令,即在命令窗口中执行该命令。当前目录窗口(CurrentDirectory)在当前目录窗口中可显示或改变当前目录,还可以显示当前目录下的文件,包括文件名、文件类型、最后修改时间以及该文件的说明信息等并提供搜索功能。工作空间管理窗口(Workspace)工作空间管理窗口是MATLAB的重要组成部分。在工作空间管理窗口中将显示所有目前保存在内存中的MATLAB变量的变量名、数据结构、字节数以及类型,而不同的变量类型分别对应不同的变量名图标。MATLAB的基本规定数值的表示MATLAB的数值采用十进制,可以带小数点或负号。以下表示都合法00,-100,0.008,12.752,1.8e-6,8.2e52变量命名规定变量名、函数名:字母大小写表示不同的变量名。如A和a表示不同的变量名;sin是MATLAB定义的正弦函数,而Sin,SIN等都不是。变量名的第一个字母必须是英文字母,不能是数字,最多可包含31个字符(英文、数字和下连字符)。如A21是合法的变量名,而3A21是不合法的变量名。变量名中不得包I含空格、标点,但可以有下连字符。如变量名A_b21是合法变量名,而A,21是不合法的。基本运算符表1MATLAB表达式的基本运算符数学表达式MATLAB运算符MATLAB表达式加a+b+a+b减a—b一a—b乘aXb*a*b除a—b/或\a/b或a\b幕abAaAb点乘两矩阵元素相乘*a.*b(4)MATLAB默认的预定义变量在MATLAB中有一些预定义变量(predefinedvariable)。每当MATLAB启动,这些变量就被产生。用户在定义变量时,尽量避开表2所列预定义变量名,以免产生混淆。表2MATLAB的预定义变量预定义变量含义预定义变量含义ans计算结果的缺省变量名NaN或nan未定式,如0/0eps机器零阈值nargin函数输入宗量数目flops浮点运算次数nargout函数输出宗量数目Inf或inf无穷大廿1/0realmax最大正实数i或j虚单元i=j=J1realmin最小正实数pi圆周率n对《自动控制理论》书p409—410中简单数学运算的例子,请在MATLAB命令窗口中对这些运算进行验证。(5)MATLAB的矩阵运算(课本P410—411)矩阵的输入和矩阵的运算对课本p410—411中矩阵运算的例子,请在MATLAB命令窗口中对这些运算进行验证。MATLAB图形绘制在二维曲线绘制中,最基本的指令是31ot()函数。如果用户将X和Y两组数据分别在向量x和Y中存储,且它们的长度相同,调用该函数的格式为:plot(x,y)这时将在一个图形窗口上绘出所需要的二维图形。在MATLAB命令窗口提示符“>>”下键入helpplot,可得到plot()函数的相关内容,如曲线颜色和线型的改变。任务一:在MATLAB命令窗口提示符“>>”下,完成下述任务:任务(1)绘制一个周期内的正弦曲线。先产生自变量t时间向量,由给出的自变量时间向量求取其正弦函数值向量,然后调用plot()函数绘制曲线。任务(2)在一个绘图窗口上同时绘制多条曲线。参考课本p411—412,写成命令,完成上述任务(1)和任务(2)。M文件程序设计对于简单问题,使用直接输入命令简单有效,但对于较复杂和多次重复的问题,直接输入命令比较麻烦,使用M文件则简便。MATLAB不仅用命令行方式工作,还可以像BASIC、FORTRAN、C等其他高级计算机语言一样进行控制流的程序设计(MATLAB语言的流程控制语句主要有for、while、if-else-end及switch-case等4种语句)。MATLAB控制流,即编制一种以.m为扩展名的MATLAB程序(简称M文件)。由于商用的MATLAB软件是用C语言编写而成。因此,M文件的语法与C语言十分相似。建立和运行M文件程序的过程如下:打开M文件编辑窗口:在图1中选择File-New-M—file菜单项实现,在M文件编辑窗口键入M文件的各行命令代码,例如输入课本P412M文件部分的例子代码保存文件:在图2中选择File—Save菜单项,保存文件。例如可键入exp1,上述命令行就保存为expl.m。调试运行M文件程序:可在图中选择)ebugfRun菜单项,全速运行M文件程序。也可用鼠标点击行号后短横线,给程序设置断点,选择DebugfStep,单步运行M文件程序,并根据工作空间管理窗口(Workspace)结果了解每条指令的功能。此外,在MATLAB命令窗口键入expl(该M文件的名字,注意不写后缀)即可运行该M文件。任务二:按上面的过程来建立并保存一个M文件程序,并调试运行M文件程序。MATLAB控制系统工具箱中的线性系统传递函数模型的相关函数(l)tf()函数若要在MATLAB环境下得到传递函数的形式,可以调用f()函数。该函数的调用格式为G=tf(num,den);其中num,den分别为系统传递函数的分子和分母多项式系数向量。返回的G为传递函数形式。但如果分子或分母多项式给出的不是完全的展开的形式,而是若干个因式的乘积,则事先需要将其变换为完全展开的形式,两个多项式的乘积在MATLAB下借用卷积求取函数conv()得出,其调用格式为p=conv(p1,p2)其中pl和p2为两个多项式,调用这个函数就能返回乘积多项式p。如果有3个多项式的乘积,就需要嵌套使用此函数,即p=conv(pl,conv(p2,p3))或p=conv(conv(pl,p2),p3)请注意在调用时括号的匹配。MATLAB还支持一种特殊的传递函数的输入格式,在这样的输入方式下,应该先用s=tf('s')定义传递函数算子,然后用数学表达式直接输入系统的传递函数。请自己通过下面两个例子来演示和掌握f()和s=tf('s')算子这两种输入方式。例1设系统传递函数G=----s4+2s3+4s2+3s+1输入方式一:num=[l,5,3,2];den=[l,2,4,3,l];%分子多项式和分母多项式G=tf(num,den);%这样就获得系统的数学模型G了。这些命令可在命令行输入也可编成一个M文件。在MATLB提示符“>>”下键入G,或省略最后命令中分号,则可显示该数学模型。输入方式二:s=tf('s');G=(sA3+5*sA2+3*s+2)/(sA4+2*sA3+4*sA2+3*s+1);任务三:设系统传递函数G=口采用上面两种输入方式,输入其传递函数,s4-2s3-3s-4并记录命令。例2设系统传递函数G=-(s-1)2(s2-3s-4)(s2-1)此题分子或分母多项式给出的不是完全展开的形式,而是若干个因式的乘积,采用f()这一种输入法之前,应先用conv()函数获得分子和分母多项式给出的完全展开的形式num和den,即输入命令:num=conv([0,5],[1,2.4]);den=conv(conv(conv([1,1],[1,1]),[1,3,4]),[1,0,1]);G=tf(num,den)%语句没有分号结尾,故将显示系统传递函数Transferfunction:5s+12sA6+5sA5+12sA4+16sA3+15sA2+11s+4这种情况用算子方法可以更直观地输入系统模型,输入命令为s=tf('s');G=5*(s+2.4)/((s+l)人2*(s^2+3*s+4)*(sA2+l));任务四:在MATLAB命令窗口中对例2的这两种输入方法进行验证。(2)tfdata()函数如果有了传递函数G,则提取控制系统的传递函数的分子多项式num和分母多项式den可以由tfdata()函数来实现。如输入命令:s=tf('s');G=5*(s+2.4)/((s+l)"2*(s"2+3*s+4)*(s"2+l))[num,den]=tfdata(G,'v')%其中'v'表示想获得num和den的数值任务五:在MATLAB命令窗口中对该例进行验证。(3)zpk()函数若要得到控制系统零极点传递函数,可以调用zpk()函数。该函数的调用格式为G=zpk(Z,P,K);其中K为系统的增益,Z,P分别为系统传递函数的零点和极点列向量。返回的G为传递函数形式。例3设系统传递函数G=(s+1.539)(s+27305+28538汛s+27305二28538j八(s+4)(S+3)(s+2)(S+1)输入下面的命令:Z=[-1.539;-2.7305+2.8538i;-2.7305-2.8538i];%注意使用列向量,另外注意符号P=[-1;-2;-3;-4];G=zpk(Z,P,1);在MATLB提示符“>>”下键入G,或省略最后命令中分号,则可显示该数学模型。>>G%下面是MATLB的显示结果Zero/pole/gain:(s+1.539)(sA2+5.461s+15.6)(s+1)(s+2)(s+3)(s+4)任务六:在MATLAB命令窗口中对该例进行验证。注意在MATLAB的零极点模型显示中,如果有复数零极点存在,则用二阶多项式来表示两个因子,而不直接展成复数的一阶因式。tf2zp()函数、zp2tf()函数控制系统分子、分母多项式传递函数与控制系统零极点传递函数可以用tf2zp()、zp2tf()函数转换。tf2zp()可将分子、分母多项式的传递函数转换为零、极点增益形式。该函数的调用格式为[Z,P,K]=tf2zp(num,den);zp2tf()可将零、极点增益形式转换为分子、分母多项式的传递函数。该函数的调用格式为[num,den]=zp2tf(Z,P,K)任务七:应用tf2zp()函数求出例1和任务五中系统的零极点。实验报告内容写出MATLAB工作环境平台中四个窗口的功能。实现实验内容的所有任务,并将答案记录(记录命令代码)。整理在实验过程中遇到的问题及如何解决的。StoppedindebuggerStoppedindebugger每次实验报告形式为:实验名称、实验目的、实验仪器、实验内容(包括以上列出的实验报告内容1)、2)、3))、分析心得等。预习要求1)阅读实验内容及实验目的。2)完成对MATLAB软件的熟悉工作。、SIMULINK基本功能与使用实验目的1)SIMULINK的使用方法。2)熟悉SIMULINK模块库的分类及其相应用途。3)能够使用SIMULINK进行系统模型的建立并仿真等。实验仪器:PC计算机一台,MATLAB软件1套实验内容1)SIMULINK的启动启动方式一:在MATLAB命令窗口,键入“SIMULINK”启动方式二:点击窗口上面的SIMULINK图标。如图3所示,就打开了SIMULINK窗口,进入SIMULINK库模块浏览界面。2)SIMULINK的模型窗口的建立在SIMULINK窗口下,用鼠标点击newmodel图标或选取菜单File—New—Model后,SIMULINK会打开一个名为untilited(无标题)的模型窗口,如图4所示。随后,按用户要求可以在此模型窗口中创建模型及进行仿真运行。打开SimulinkLibraryBrowser浏览器口回冈[indowfielpD為电缰门c驚?CurrentDirectory:D:teetup_6p5Work''zikongLaunchPad回区ICorrirTHndWindov/LaunchPad回区ICorrirTHndWindov/回区I>WorkspaceCurrentDirectoryLaunchPadI>WorkspaceCurrentDirectoryLaunchPadICarnrTHndHEtoryMATLAIiToolboxesSirTmlinkElo'zkse%—7/05/085:38AM—%simulink%—7/07/088:51AM—%UeingToolboxF:mthCache."helptth_匚日匚hm"formoreinfo.To迂£t:mrted.select''MATLAE!Help,vfromth已Helpmemi.<""'>SIMULINK模块库SIMULINK提供了9类基本模块库:连续系统模块库(Continous)、离散系统模块库(Discrete)、函数与表模块库(Function&Tables)、数学运算模块库(Math)、非线性系统模块库(Nonlinear)、信号模块库(SignalRouting)、输出模块库(Sinks)、输入源模块库(Sourses)、子系统模块库(Subsystems)等基本模块库。附录二对本实验书中用到的5个模块:连续系统模块库(Continous)、数学运算模块库(Math)、信号模块库(SignalRouting)、输出模块库(Sinks)、和输入源模块库(Sourses)的功能进行了介绍。用SIMULINK建立系统模型及仿真(1)例1以求一个惯性环节G=5的阶跃响应为例,说明模型的建立过程。0.8s+2开启SIMULINK窗口及模块库:在MATLAB命令窗口,键入“SIMULINK”,或点击窗口上面的SIMULINK图标,如图3所示,就打开了SIMULINK窗口,进入SIMULINK库模块浏览界面。建立新文件:在SIMULINK窗口下,用鼠标点击newmodel图标或选取菜单File-New-Model后,SIMULINK会打开一个名为untilited(无标题)的空白模型窗口,如图4所示。新文件建立后,可以用菜单File中的Saveas命令保存程序,这时需要给文件取名。保存的文件扩展应名为.mdl。本例中将文件名命名为exampl.mdl。复制模块:双击模块组图标打开模块子库,将鼠标移到所要复制的模块上,然后按下左键并拖动鼠标到目标窗口,再松开键,用右键可在任意窗口内复制模块,此时原模块保留。本例中需双击Sources图标从信号源库中选中阶跃信号模块,双击Continuous图标从连续系统模块库中选中传递函数模块,双击Sinks图标从显示库中选中示波器模块,分别拖入exampl.mdl目标窗口。修改模块参数。通常目标窗口中复制的模块的参数和要求不一致,因此需对这些复制过来的模块参数进行修改。双击复制过来的模块,会出现对一个对话框,在对话框中设置相应参数。本例中双击Step模块,设置阶跃信号的起始时间从默认的1修改为0、并可根据实际情况设计设置初值和终值;双击TransferFcn模块,设置传递函数的表达式,在分子(Numerator)多项式系数处键入[5],在分母(Denominator)多项式系数处键入[0.8,2].模块之间的连接:模块左侧和右侧尖角〉分别表示模块的输入和输出,模块之间的连接按照下述方法进行:鼠标移到一个模块的输入(出)端,按下左键,拖动鼠标到另一个模块的输出(入)端,松开,连线完毕。若要从一条已经存在的连线上引出另一条连线,首先把鼠标指针移到这个连线上,按下右键,拖动鼠标到目标端口,再松开键。按照上述步骤建立的惯性环节模型如图5所示。

图5用SIMULINK建立的惯性环节模型若需要选择对象或删除对象,用鼠标左键在所选对象上单

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论