matlab第十讲PPT课件

上传人:无*** 文档编号:154911380 上传时间:2022-09-22 格式:PPT 页数:68 大小:586KB
收藏 版权申诉 举报 下载
matlab第十讲PPT课件_第1页
第1页 / 共68页
matlab第十讲PPT课件_第2页
第2页 / 共68页
matlab第十讲PPT课件_第3页
第3页 / 共68页
资源描述:

《matlab第十讲PPT课件》由会员分享,可在线阅读,更多相关《matlab第十讲PPT课件(68页珍藏版)》请在装配图网上搜索。

1、1210.1初识Simulink10.2仿真模型的建立10.3系统的仿真与分析10.4子系统与封装10.5S函数的设计与应用3本章学习目标熟悉Simulink的操作环境掌握绘制系统模型的方法。掌握子系统模块的建立与封装技术。了解S函数的功能与设计方法。4在MATLAB的命令窗口输入simulink,或单击MATLAB主窗口工具栏上的“Simulink”命令按钮 即可启动Simulink。Simulink启动后会显示如图所示的Simulink模块库浏览器(Simulink Library Browser)窗口。1.模型元素一个典型的Simulink模块包括以下3种元素。信号源(Source)。信

2、号源可以式常量(Constant)、时间(Clock)、正弦波(Sine Wave)、锯齿(Step)波等。被模拟的系统模块。例如,Math Operations(数学运算)模块、Continuous(连续)系统模块、Discrete(离散)系统模块等。56信号输出(Sink)。信号可以在示波器(Scope)、图形(Graph)记录仪上显示,可以存储到文件(To File)、导出到工作空间(To Workspace)。2.仿真步骤利用Simulink进行系统仿真的步骤如下。(1)建立系统仿真模型,包括添加模块、设置模块参数、进行模块连接等操作。(2)设置仿真参数。(3)启动仿真并分析仿真结果。

3、3.仿真实例下面通过一个简单实例,说明利用Simulink建立仿真模型并进行系统仿真的方法。7例10.1利用Simulink仿真曲线y(t)=sint+sin(9t).(1)在MATLAB主菜单中,选择“File”菜单中“New”菜单项的“Model”命令,打开一个名为untitled的模型编辑窗口。或启动Simulink模块库浏览器后再单击其工具栏中的New model 命令按钮,也会弹出模型编辑窗口。(2)将所需模块添加到模型中。(3)用连线将各个模块连接起来组成系统仿真模型,如图所示。(4)设置模块参数并连接各个模块组成仿真模型。先双击各个正弦源,打开“Source Block Para

4、meters”对话框,如图所示。模型建立好后,从模型编辑窗口的“File”菜单中选择“Save”或“Save as“命令将模型以模型文件的格式存盘。8910(5)设置系统仿真参数。单击模型编辑窗口”Simulink“菜单中的”Confinguration Parameters”命令,打开仿真参数设置对话框,即可设置。(6)仿真操作。双击示波器图标,打开示波器窗口。在模型编辑器窗口中选择“Simulink”菜单中的”Start“命令,就可在示波器窗口中看到仿真结果的变换曲线。单击示波器窗口工具栏上的”Autoscale“按钮 ,可以自动调整坐标来使波形刚好完整显示,这时的波形如图所示。11(5)

5、设置系统仿真参数。单击模型编辑窗口”Simulink“菜单中的”Confinguration Parameters”命令,打开仿真参数设置对话框,即可设置。(6)仿真操作。双击示波器图标,打开示波器窗口。在模型编辑器窗口中选择“Simulink”菜单中的”Start“命令,就可在示波器窗口中看到仿真结果的变换曲线。单击示波器窗口工具栏上的”Autoscale“按钮 ,可以自动调整坐标来使波形刚好完整显示,这时的波形如图所示。1210.2.1Simulink的基本模块模块是构成系统仿真模型的基本单元。用适当的方式把各种模块连接在一起就能够建立动态系统的仿真模型,所以构建系统仿真模型主要涉及Sim

6、ulink模块的操作。Simulink的模块库提供了大量模块,大体分为两类:基本模块库和专业模块库。在模块库浏览器左侧的Simulink选项上单击鼠标右键,在弹出的快捷菜单中选择”Open Simulink Library“命令,将打开Simulink基本模块库窗口,如图所示。双击其中的子模块库图标,打开子模块库图标,打开子模块库,找到仿真所需的模块。1314以连续系统模块库(Continuous)为例,在Simulink基本模块库窗口,双击Continuous模块库的图标即可打开该模块库窗口,如下图所示。1510.2.2模块操作1.添加与删除模块要把一个模块添加到模块中,首先要在Simuli

7、nk模块库中找到该模块,然后将这个模块拖曳到模型窗口即可。删除模块的方法是:选定模块,按Delete键或选择”Edit“菜单中的”Cut“或”Clear“命令;或者在模块上单击鼠标右键,在弹出的快捷菜单中选择”Cut”或“Clear”命令。“Cut”命令将删除的模块送到剪切板,“Clear”命令将彻底删除模块。2.选取模块要在模型编辑窗口中选择单个模块,只要用鼠标在模块上单击即可,这时模块的角上出现黑色的小方块,托动这些小方块可以改变模块的大小。163.复制模块在同一模型编辑窗口中复制模块的方法在不同的模型编辑窗口之间复制模块的方法复制操作还可以选择模型窗口“Edit”菜单中的额“Copy”和

8、“Paste“命令或单击工具栏上的”Copy“和”Paste“命令按钮来完成。4.模型外形的调整改变单个模块的大小改变整个模型中所有模块的大小调整模块的方向改变模块的颜色给模块加阴影175.模块名的处理要隐藏模块名,首先选定模块,然后选择”Format“菜单中的 ”Hide Name“命令,模块名就会被隐藏,同时菜单项”Hide Name“变成”Show Name“。选择”Show Name“命令就会使模块隐藏的名字显示出来。要修改模块名,用鼠标左键单击模块名的区域,这时会在此处出现编辑状态的光标,在这种状态下能够对模块名随意修改。10.2.3模块的连接当设置好了各个模块后,还需要把它们按照一

9、定的顺序连接起来才能组成一个完整的系统模型。1.连接两个模块方法是先移动鼠标指针到输出端,当鼠标指针变成十字形光标时按住鼠标左键,移动鼠标指针到另一个模块的输入端,当十字光标出现重影时,释放鼠标左键就完成了两个模块的连接。182.模块间连线的调整调整模块间连线位置可采用鼠标托放操作来实现。先将鼠标指针移动到需要移动的线段的位置,按住鼠标左键,移动鼠标到目标位置,释放鼠标左键。3.连线的分支操作方法是,在先连好一条线后,把鼠标指针移到分支点的位置,先按下Ctrl键,然后按住鼠标拖曳到目标模块的输入端,释放鼠标和Ctrl键。4.标准连线操作方法是,双击要做标记的连线,将出现一个小文本编辑框,在其中

10、输入标注文本,这样就建立了一个信号标记。1910.4模块的参数和属性设置1.模块的参数设置Simulink中几乎所有模块的参数都允许用户进行设置,只要双击要设置的模块就会弹出模块参数对话框。该对话框分为两部分,上面以部分是模块功能说明,下面一部分用来进行模块参数设置。2.模块属性设置选定要设置属性的模块,然后在模型编辑窗口的”Edit“菜单中选择:Block Properties”命令。将打开模块属性对话框。该对话框包括General、BlockAnnotation和Callbacks3个可以相互切换的选项卡。其中General选项卡中可以设置3个基本属性。20(1)Descripyion:对

11、该模板中的用法进行说明。(2)Priority:规定该模块在模块中相对于其他模块执行的优先顺序。(3)用户为模块添加的文本格式的标记。“Block Annotation”选项卡中指定在该模块的图标下显示模块的哪个参数。“Callbacks”选项卡中指定当对该模块实施某种操作时需要执行的MATLAB命令或程序。2110.3.1设置仿真参数其方法是:打开系统仿真模型,从模型编辑窗口的“Simulation”菜单中选择“Configuration Parameters”命令。打开一个仿真参数对话框,在其中可以设置仿真参数。Slover类:用于设置仿真起始和停止时间,选择微分方程求解算法并为其规定参数

12、,以及选择某些输出选项。Data Import/Export类:用于管理工作空间数据的导入和导出。Optimization类:用于设置仿真优化模式。Diagnostics类:用于设置在仿真过程中出现各类错误时发出警告的等级。22Hardware Implementation类:用于设置实现仿真的硬件。Model Referencing类:用于设置参考模型。Simulation Target类:用于设置仿真模型目标。HDLColor类:用于设置通过自动代码生成技术将设计算法生成HDL代码的方法,包括设置第三方综合工具、仿真工具以及实现的FPGA型号等。1.Solver类设置在对话框左边的树型结构

13、中单击“Solevr”类,在右边的窗口中会列出所有Solver选项,如图所示(1)设置仿真起始和停止时间(Simulink time)(2)仿真算法的选择(Solver option)在“Type”编辑框中设定算法类别:固定步长和变步长算法,在”Solver“编辑器中选择集体算法。2324在采用变步长算法时,首先应该指定允许的误差限,在采用变步长算法时还要设置最大步长,在默认值的情况下,系统所给定的最大步长为最大步长=(终止时间-起始时间)/50在采用固定步长算法时,要先设置固定步长。还多了一个模型类型(Tasking mode for periodic sample times)的选项,该选

14、项包括:多任务(MultiTasking)、单任务(Single Tasking)和默认值(Auto)。变步长和固定步长分别对应许多不同的具体算法,如图所示。25262.Data Import/Export类设置DataImport/Export类包含的选项如图所示。27(1)从工作空间中载入数据(Load from workspace)在仿真过程中,如果模型中有输入端口,可从工作空间直接把数据载入到输入端口,即选中”Input“复选框,然后在后面的编辑框内输入数据的变量名。变量名的输入有以下几种形式:矩阵形式。包含时间数据的结构形式综合形式。(2)保存到工作空间(Save to worksp

15、ace)同载入数据的形式一样,保存数据也有矩阵、结构和包含时间数据的结构形式。矩阵形式。28包含时间数据的结构形式。(3)保存选项(Save options)在保存选项栏中的”Format“下拉列表中有矩阵、结构和包含时间的结构3种选择。在保存选项栏中的输出选项(Out putoptions)下拉表中有3种选择:Refine output、Produce additional output和Produce specified output only。Refine output(细化输出):细化输出的目的是使输出的数据曲线更加平滑。Produce additional output(产生附加输出

16、):由用户指定产生输出的附加时刻。Produce specified output only(仅在指定的时刻产生输出)仅仅提供在指定的时间点上的输出值。2910.3.2仿真结果分析为了观察仿真结果的变化轨迹可以采用3种方法。(1)把输出结果送给Scope模块或者XYGraph模块。Scope模块显示系统输出量对于仿真时间的变化曲线,XYGraph模块显示送到该模块上的两个信号中的一个对另一个的变化关系。30(2)把仿真结果送到输出端口并作为返回变量,然后使用MATLAB命令画出该变量的变化曲线。(3)把输出结果送到To Workspace模块,从而将结果直接存入工作空间,然后用MATLAB命令

17、画出该变量的变化曲线。仿真输出结果还有其他一些输出方式,例如使用Display模块可以显示输出数值。看下面的例子。例10.2利用Simulink仿真求 。dxxI2033110.3.3系统仿真实例下面的应用实例将分别采用不同建模方法为系统建模并仿真。例10.3有初始状态为0的二阶微分方程 ,其中u(t)是单位阶跃函数,试建立系统模型并仿真。方法1:用微分/积分器直接构造求解微分方程的模型。把原微分方程改写为u经微分作用得 ,经积分作用得 ,再经积分模块作用就的y,而 经代数运算又产生 ,据此可以建立系统模型并仿真,步骤如下。(1)利用Simulink模块库中的基本模块建立系统模型如图所示。tu

18、tuyyy102105.1 yytutuy105.1102 uy yyyyuu和、y 32模型中各个模块说明如下。u(t)输入模块Gu和Gu1增益模块求和模块积分模块G和G1增益模块33(2)设置系统仿真参数。(3)仿真操作。仿真结果的变化曲线,如下图。34方法2:利用传递函数模块建模。对方程 两边取Laplace变换,得 经整理得传递函数:在Continuous模块库中有标准的传递函数模块可供调用。于是,就可以构建求解微分方程的模型并仿真。工具系统传递函数构建如图所示的仿真模型。tutuyyy102105.1 sUssUsYssYsYs102105.12 105.11022ssssUsYsG

19、35模型中各个模块说明如下。(1)U(s)模块(2)G(s)模块:双击Transfer Fcn模块,引出其参数设置对话框,在分子、分母栏中填写所需的系数,如图所示。以后的操作与方法1相同。36利用3:利用状态方程模块建模。若令 那么微分方程 可写成 写成状态方程为:式中在Continuous模块中有标准状态方程模块可供调用,于是,就可构建求解微分方程的模型并仿真。根据系统状态方程构建的仿真模型如下。,21yxyx tutuyyy102105.1 21212212105.110 xxyuxxxxxDuCxyBuAxx.0,210,10,5.11010DCBA37模型中个个模块说明如下。u(t)输

20、入模块:它的step time被设置为0.statespace模块:、各栏依次填入0 1;-10-1.5、0;1、10 2和0.后面的操作与方法1相同。38当模型的规模较大或者较复杂时,用户可以把几个模块组合成一个新的模块,这样的模块称为子系统。10.4.1子系统的建立建立子系统有两种方法:通过Subsystem模块建立子系统和通过已有的模块建立子系统。1.通过Subsystem模块建立子系统新建一个仿真模型,打开Simulink模块库中的Port&Subsystems模块库,将Subsystem模块添加到模型编辑窗口。双击Subsystem模块打开一个Subsystem窗口,窗口中已经自动添

21、加了一个输入模块和输出模块。将要组合的模块插入到输入模块和输出模块中间,一个子系统就建好了。392.通过已有的模块建立子系统先选择要建立子系统的模块,不包括输入端端口和输出端口。选择模型编辑窗口Edit菜单中的Creat Subsystem命令。这样,子系统就建好了,原来的模块变为子系统的图标。例10.4PID控制器是在自动控制中经常使用的模块,它由比例单元(P)、积分单元(I)、微分单元(D)组成。PID控制的传递函数为建立PID控制器的模型并建立子系统。先建立PID控制器的模型,如图所示。选中模型中所有模块,使用模型编辑窗口Edit菜单中的 sKsKKsUdip40Create Subsy

22、stem命令建立子系统,模型将被一个Subsystem模块取代,如图所示。4110.4.2子系统的条件执行条件执行子系统分为:使能子系统、触发子系统和使能加触发子系统。1.使能子系统使能子系统表示子系统在由控制信号控制时,控制信号由负变正时子系统开始执行,直到控制信号再次变为负时结束。2.触发子系统触发子系统是指当触发事件发生时开始执行子系统。3.使能加触发子系统所谓使能加触发子系统就是把Enable和Tirgger模块都加到子系统中,使能控制信号和触发控制信号共同作用子系统的42执行,也就是前两种子系统的综合。10.4.3子系统的封装所谓子系统的封装(Masking),就是为子系统定制对话框

23、和图标,使子系统本身有一个独立的操作界面,把子系统中的各模块的参数对话框合成一个参数设置对话框,在使用时不必打开每个模块进行参数设置,这样使子系统的使用更加方便。子系统的封装过程很简单,先选中所要封装的子系统,再选择模型编辑窗口“Edit”菜单中的“Mask Subsystem”命令,这时将出现封装编辑器(Mask Editor)对话框。43 10.5.1 概念 10.5.2 功能 10.5.3 工作流程 10.5.4 书写规范 10.5.5 应用示例44 S函数是一种描述动态系统的计算机语言,可以用MATLAB、C、C+、Ada或 Fortran语言书写。S函数采用一种特殊的调用语法使得S函

24、数可以和Simulink解法器进行交互。S函数可以用来描述连续、离散和混杂系统。45 S函数可以实现以下操作。可以通过它用多种语言来创建新的通用性的Simulink模块。编写好的S函数,可以在User-Defined Functions模块库的S-function模块中通过名称来调用,并可以进行封装。46 可以通过S函数将一个系统描述成一个数学方程。便于图形化仿真。可以创建代表硬件驱动的模块。47 1模块输入、状态和输出间的数学关系 2Simulink仿真流程 3S函数的回调函数48 描述一个Simulink模块需要3个基本元素:输入向量(u);状态向量(x);输出向量(y)。49 输出是输入

25、向量、状态向量和采样时间的函数。在计算中,往往需要利用如下所示的3种关系。50 Simulink在仿真时把上面的关系对应为不同的函数,它们分别实现计算模块的输出、更新模块的离散状态和计算连续状态的微分。51 Simulink仿真按照如下图所示的流程进行。初始化阶段,Simulink将库中的模块并入到自建模型中;然后进入仿真循环;如此循环直至仿真结束。5253 一个S函数是由一系列回调函数组成,在 仿 真 循 环 中 的 每 个 仿 真 阶 段 都 由Simulink调用回调函数来执行相应的任务。54 S函数的回调函数可以完成以下任务。初始化;计算下一个采样点;计算当前仿真步的输出;更新当前仿真

26、步的离散状态;积分。55 每一个M文件S函数具有如下的形式:sys,x0,str,ts=f(t,x,u,flag,p1,p2,.)下表列出了上面各参数的含义。56函数各参数的含义57续表58 书写M文件S函数时只需用MATLAB语言来编写每个flag值对应的子函数即可。下表列出了在各个仿真阶段对应要执行的回调函数以及相应的flag参数值。59各个仿真阶段对应要执行的S函数方法 60 利用“User-Defined Functions”库中的S-Function模块创建由MATLAB语言书写的M文件S函数。6162636465 运行Simulink模型可得到如下图所示的仿真结果。上下两个模块的输出结果一样,证明了S函数的功能是正确的。66一.思考题1.Simulink的主要功能是什么?应用Simulink进行系统仿真的主要步骤有哪些?2.如何建立Simulink的仿真模型?3.在Simulink中,有哪些求微分方程的算法?674.为了输出仿真结果,可以采用哪些方法?5.什么叫子系统?什么叫S函数?它们各有什么作用?二.实验题有初始状态为0的二阶微分方程,其中u(t)是单位阶跃函数,试建立系统模型并仿真。tuxxx2.04.02.0 个人观点供参考,欢迎讨论

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

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

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


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