版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1MATLAB程序设计《MATLAB程序设计》2第十章Simulink动态仿真设计10.1Simulink仿真环境 10.2Simulink模块库 10.3Simulink基本操作和模块的创建10.4Simulink系统建模 10.5运行仿真 10.1Simulink仿真环境《MATLAB程序设计》3
Simulink主要用来实现对工程问题的模型化及动态仿真,其本身具有良好的图形交互界面。Simulink体现了模块化设计和系统级仿真的思想,采用模块组合的方法使用户能够快速、准确地创建动态系统的计算机模型,使得建模仿真如同搭积木一样简单。10.1Simulink仿真环境
10.1Simulink仿真环境《MATLAB程序设计》4(1)在MATLAB的命令行窗口中输入Simulink,按Enter键,随后单击空白模块按钮进入Simulink仿真平台界面10.1Simulink仿真环境
10.1Simulink仿真环境《MATLAB程序设计》5(2)单击MATLAB浏览器窗口工具栏上的Simulink按钮进入仿真平台界面10.1Simulink仿真环境
10.1Simulink仿真环境《MATLAB程序设计》6打开Simulink模块库浏览器窗口10.1Simulink仿真环境
单击窗口右上角的叉号,关闭Simulink仿真平台和Simulink模块库浏览器窗口,即可退出Simulink仿真环境。10.2Simulink模块库《MATLAB程序设计》710.2.1标准模块库
标准Simulink模块库在Simulink窗口中名为Simulink,单击该选项,在模块窗口中展开该模块库,标准Simulink模块库共含16个子库10.2Simulink模块库《MATLAB程序设计》810.2.1标准模块库
(1)CommonlyUsedBlocks(常用模块库):该模块库将各模块库中最经常使用的模块放在一起,目的是为了方便用户使用。(2)Continuous(连续系统模块库):该模块库提供了用于构建连续控制系统仿真模型的模块。(3)Discontinuities(非连续系统模块库):该模块库用于模拟各种非线性环节。(4)Discrete(离散系统模块库):该模块库功能基本与连续系统模块库相对应,但它是对离散信号的处理,所包含的模块较丰富。10.2Simulink模块库《MATLAB程序设计》910.2.1标准模块库
(5)LogicandBitOperations(逻辑和位操作模块库):该模块库提供了用于完成各种逻辑与位操作(包括逻辑比较、位设置等)的模块。(6)LookupTables(查表模块库):该模块库提供了一维查表模块、n维查表模块等模块,主要功能是利用查表法近似拟合函数值。(7)MathOperations(数学运算模块库):该模块库提供了用于完成各种数学运算(包括加、减、乘、除以及复数计算、函数计算等)模块。10.2Simulink模块库《MATLAB程序设计》1010.2.1标准模块库
(8)ModelVerification(模块声明库):该模块库提供了显示模块声明的模块,如Assertion声明模块和CheckDvnamicRanoe检杏动太范围植块。(9)Model-WideUtilities(模块扩充功能库):该模块库提供了支持模快扩充操作的模块,如DocBlock文档模块等。(10)Ports&Subsystems(端口和子系统模块库):该模块库提供了许多按条件判断执行的使能和触发模块,还包括重要的子系统模块。10.2Simulink模块库《MATLAB程序设计》1110.2.1标准模块库
(11)SignalAttributes(信号属性植块库):该植块库提供了支持信号属性的模块,如DataTypeConversion数据类型转换植块等。(12)SignalRouting(信号数据流模块库):该模块库提供了用于仿真系统中信号和数据各种流向控制操作(包括合并、分离、选择、数据读写)的模块。(13)Sinks(接收器模块库):该模块库提供了9种常用的显示和记录仪表,用于观察信号的波形或记录信号数据。10.2Simulink模块库《MATLAB程序设计》1210.2.1标准模块库
(14)Sources(信号源模块库):
该模块库提供了20多种常用的信号发生器,用于产生系统的激励信号,并且可以从MATLAB工作空间及.mat文件中读入信号数据。(15)User-DefinedFunctions(用户自定义函数库):
该模块库的模块可以在系统模型中插入M函数、S函数以及自定义函数等,使系统的仿真功能更强大。(16)AdditionalMath&Discrete(附加的数学与离散函数库):
该模块库提供了附加的数学与离散函数模块,如Fixed-PointStateSpace修正点状态空间模块。10.2Simulink模块库《MATLAB程序设计》1310.2.2专业模块库
它们是各领域专家为满足特殊需要在标准Simulink模块库基础上开发出来的。比如,电力系统模块库。SimPowerSystems(电力系统模块库)是专用于RLC电路、电力电子电路、电机传动控制系统和电力系统仿真的模块库。该模块库中包含了各种交、直流电源、大量电气元器件和电工测量仪表以及分析工具等。利用这些模块可以模拟电力系统运行和故障的各种状态,并进行仿真和分析。各专业模块库涉及较深的专业知识,读者若有应用,可查看MATLAB帮助文档。10.3Simulink基本操作和模块的创建《MATLAB程序设计》1410.3.1模块的基本操作
操作内容操作目的操作方法选取模块从模块库浏览器中选取需要的模块放入Simulink仿真平台窗口中方法1:在目标模块上按下鼠标左键,拖动目标模块进入Simulink仿真平台中,松开左键方法2:在目标模块上单击鼠标右键,弹出快捷菜单,选择“Addtountitled”选项删除模块删除窗口中不需要的模块选中模块,按下Delete键调整模块大小改善模型的外观,调整整个模型的布置选中模块,模块四角将出现小方块。单击一个角上的小方块并按住鼠标左键,拖曳鼠标到合理大小位置移动模块将模块移动到合适位置,调整整个模型的布置单击模块,拖曳模块到合适的位置,松开鼠标按键旋转模块适应实际系统的方向,调整整个模型的布置方法1:选中模块,选择菜单命令Diagram→Rotate&Flip→Clockwise,模块顺时针旋转90°;选择菜单命令Diagram一Rotate&Flip→Counterclockwise,模块逆时针旋转180°;选择菜单命令Diagram→Rotate&Flip→FlipBlock,模块左右或上下翻转;选择菜单命令Diagram→Rotate&Flip→FlipBlockName,模块左右或上下翻转模块名字方法2:右键单击目标模块,在弹出的快捷菜单中进行与方法1同样的菜单项选择复制内部模块内部复制已经设置好的模央块,而不用重新到模块库浏览器中选取方法1:先按住Ctrl键,再单击模块,拖曳模块到合适的位置,松开鼠标按键方法2:选中模块,使用Edit→Copy及Edit→Paste命令模块参数调整按照用户自己意愿调整模块的参数,满足仿真需要方法1:双击模块,弹出“...BlockParameter...”对话框,修改参数方法2:右键单击目标模块,在弹出的快捷菜单中“...Parameter”选项,弹出“...BlockParameter...”对话框改变标签内容按照用户自己意愿对模块进行命名,增强模型的可读性在标签的任何位置上单击鼠标,进入模块标签的编辑状态,输入新的标签,在标签编辑框外的窗口中任何地方单击鼠标退出10.3Simulink基本操作和模块的创建《MATLAB程序设计》1510.3.2信号线的基本操作
操作内容操作目的操作方法在模块间连线在两个模块之间建立信号联系在上级模块的输出端按住鼠标左键,拖动至下级模块的输入端,松开鼠标左键移动线段调整线段的位置,改善模型的外观选中目标线段,按住鼠标左键,拖曳到目标位置,松开鼠标左键移动节点可改变折线的走向,改善模型的外观选中目标节点,按住鼠标左键,拖曳到目标位置,松开鼠标左键画分支信号线从一个节点引出多条信号线,应用于不同目的方法1:先按住Ctrl键,再选中信号引出点,按住鼠标左键,拖曳到下级目标模块的信号输入端,松开鼠标左键方法2:先选中信号引出线,然后在信号引出点按住鼠标右键,拖曳到下级目标模块的信号输入端,松开鼠标右键删除信号线删除窗口中不需要的线段或断开模块间连线选中目标信号线,然后按Delete键信号线标签设定信号线的标签,增强模型的可读性双击要标注的信号线,进入标签的编辑区,输入信号线标签内容,在标签编辑框外的窗口中单击鼠标退出10.3Simulink基本操作和模块的创建《MATLAB程序设计》1610.3.3系统模型的基本操作
操作内容操作目的操作方法创建模型创建一个新的模型方法1:选择MATLAB菜单命令Home→New→SimulinkModel方法2:单击Simulink模块库浏览器窗口工具栏ENewModel(新模型)按键打开模型打开一个已有的模型方法1:选择MATLAB菜单命令Home→Open方法2:单击Simulink模块库浏览器窗口OpenModel(打开模型)按键保存模型保存仿真平台中模型方法1:选择Simulink仿真平台窗口菜单命令File→Save或者File→Saveas方法2:单击Simulink仿真平台窗口Save(保存)按键注释模型使模型更易读懂在模型窗口中的任何想要加注释的位置上双击鼠标,进入注释文字编辑框,输入注释内容,在窗口中任何其他位置单击鼠标退出10.3Simulink基本操作和模块的创建《MATLAB程序设计》1710.3.3系统模型的基本操作
10.3Simulink基本操作和模块的创建《MATLAB程序设计》1810.3.4子系统建立
一般而言,规模较大的系统仿真模型,都包含了数量可观的各种模块。如果这些模块都直接显示在Simulink仿真平台窗口中,将显得拥挤、杂乱,不利于用户建模和分析。可以把实现同一种功能或几种功能的多个模块组合成一个子系统,从而简化模型,其效果如同其他高级语言中子程序和子函数的功能。10.3Simulink基本操作和模块的创建《MATLAB程序设计》1910.3.4子系统建立
方法一:“子系统”模块①新建一个空白模型。②打开“端口和子系统”模块库,选取其中的Subsystem(子系统)模块,并把它复制到新建的仿真平台窗口中。③双击Subsystem模块,此时弹出子系统编辑窗口。系统自动在该窗口中添加一个输入和输出端子,名为In1和Out1,这是子系统与外部联系的端口④将组成子系统的所有模块都添加到该子系统中,并将添加的模块进行合理排列。⑤根据要求用信号线连接各模块。⑥修改外接端子标签并重新定义子系统标签,使子系统更具可读性。10.3Simulink基本操作和模块的创建《MATLAB程序设计》2010.3.4子系统建立
方法二:组合已存在的模块①打开已经存在的模型。②选中要组合到子系统中的所有对象,包括各模块及其连线。③选择菜单栏中的建模→创建子系统命令,模型自动转换成子系统。④修改外接端子标签并重新定义子系统标签,使子系统更具可读性。10.3Simulink基本操作和模块的创建《MATLAB程序设计》2110.3.4子系统建立
方法二:组合已存在的模块10.4Simulink系统建模《MATLAB程序设计》22
Simulink系统建模的过程和具体操作步骤一般如下。(1)分析待仿真系统,确定待建模型的功能需求和结构。(2)启动模块库浏览器窗口,执行菜单栏中的“空白模块”命令,新建一个模型文件。(3)在模块库浏览器窗口中找到模型所需的各模块,并分别将其拖曳到新建的仿真平台窗口中。(4)将各模块适当排列,并用信号线将其正确连接。(5)对模块和信号线重新标注。(6)依据实际需要对相应模块设置合适的参数值。(7)如有必要,可对模型进行子系统建立和封装处理。(8)保存模型文件。10.4Simulink系统建模《MATLAB程序设计》23
例10-1请采用simlink建立下列二元一次微分方程仿真模型其中,m,c和k分别表示质量,阻尼和刚度,F(t)表示激振力,x表示振动位移,x的一阶导数和二阶导数分别表示速度和加速度。(1)分析仿真系统。上述二元一次微分方程描述了物体振动过程,为了方便建立模型,将上述方程变形为,10.4Simulink系统建模《MATLAB程序设计》24
(2)创建Simulink模型文件。创建如图所示的Simulink模型文件。10.4Simulink系统建模《MATLAB程序设计》25
(3)设置模块参数。根据系统的实际物理意义,修改各模块标签名称,本模型比较简单,除了质量,阻尼和刚度用同样的Gain模块表示外,其余模块并不容易混淆,且物理意义比较明确,因此在模型中,修改模块标签名称意义不大,此处不在修改,维持原模型状态。(4)创建子系统。对于复杂仿真模型,如果将所有仿真模块放到一个层级,将显得特别杂乱,不利于后续模块调试,因此可将部分模块进行子系统创建,这样整个模型就可以通过多个子系统相互连接而成,从表型形式上更为简化和明确,也有利于后续的模型调试。10.4Simulink系统建模《MATLAB程序设计》26
(4)创建子系统。对于复杂仿真模型,如果将所有仿真模块放到一个层级,将显得特别杂乱,不利于后续模块调试,因此可将部分模块进行子系统创建,这样整个模型就可以通过多个子系统相互连接而成,从表型形式上更为简化和明确,也有利于后续的模型调试。10.5运行仿真《MATLAB程序设计》27
10.5.1运行仿真过程Simulink一般使用窗口菜单命令进行仿真,方便且人机交互性强,用户可容易地进行仿真解法以及仿真参数的选择、定义和修改等操作。(1)设置仿真参数①求解器:设置仿真的起始和终止时间,设置积分解法以及步长等参数;②数据导入/导出:Simulink和MATLAB工作空间数据的输入和输出设定,以及数据存储时的格式、长度等参数设置;③诊断:允许读者选择在仿真过程中警告信息显示等级。选择适当的算法并设置好其他仿真参数后,选择对话框中的OK或Apply按钮,使修改的设置生效。10.5运行仿真《MATLAB程序设计》28
10.5.1运行仿真过程(1)设置仿真参数10.5运行仿真《MATLAB程序设计》29
10.5.1运行仿真过程(2)启动仿真完成仿真参数的设置后,就可以开始仿真。确认待仿真的仿真平台窗口为当前窗口,选择菜单命令建模-运行或单击工具栏中的图标启动仿真。(3)显示仿真结果如果建立的模型没有错误,选择的参数合适,则仿真过程将顺利进行。这时,双击模型中用来显示输出的模块(如Scope显示器模块),就可以观察到仿真的结果。当然,也可以在仿真开始前先打开显示输出模块,再开始仿真。(4)停止仿真对于仿真时间较长的模型,如果在仿真过程结束之前,用户想要停止此次仿真过程,可以选择菜单命令建模-停止或单击工具栏中的图标停止仿真。10.5运行仿真《MATLAB程序设计》30
10.5.1运行仿真过程(5)仿真诊断在仿真过程中若出现错误,Simulink将会终止仿真并弹出“诊断查看器”错误信息对话框10.5运行仿真《MATLAB程序设计》31
10.5.2仿真参数设置(1)仿真时间设置仿真时间非常重要,它决定了模型仿真的时间或取值范围,其设置完全根据待仿真系统的特性确定,反映在输出显示上就是示波器的横轴坐标值的取值范围。“开始时间”和“结束时间”项分别用以设置仿真开始时间(或取值范围下限)和终止时间(或取值范围上限),默认值分别为0.0和10.0。10.5运行仿真《MATLAB程序设计》32
10.5.2仿真参数设置(2)选择仿真算法算法名称算法说明变步长算法ode45基于显式Runge-Kutta(4,5)和Dormand-Prince组合的算法,是一种一步算法,即只要前一时间点的解,就可以立即计算当前时间点的方程解。对大多数仿真模型来说,首先使用ode45来解算模型是最佳的选择,因此在Simulink的算法选择中将ode45设为默认的算法ode23基于显式Runge-Kutta(2,3)、Bogacki-Shampine相结合的算法,也是一种一步算法。在容许误差和计算略带刚性的问题方面,该算法比ode45更好ode113可变阶次的Adams-Bashforth-Moulton算法,是一种多步算法,即需要使用前几次节点上的值来计算当前节点的解。在精度要求高的情况下,该算法比ode45更合适ode15s一种可变阶次的多步算法,当遇到带刚性(Stiff)的问题时或者使用ode45算法很慢时,可以一试ode23s刚性方程固定阶次的单步解法。在容许误差较大时,比ode15s有效。因此,如果系统是刚性系统,可以同时尝试两种方法以确定哪一个更快ode23t一种采用自由内插方法的梯形算法。如果系统为中度刚性且要求解没有数值衰减时,可考虑此解法ode23b采用TR-BDF2算法,即在龙格-库塔法的第一阶段用梯形法,第二阶段用二阶的BackwardDifferentiationFormulas算法。在容差比较大时,ode23tb和ode23t都比ode15s要好discrete针对非连续系统(离散系统)的特殊算法注释模型ode8采用固定步长的8阶Dormand-Prince的算法ode5采用固定步长的5阶Dormand-Prince的算法,即固定步长的ode45算法ode4采用固定步长的4阶Runge-Kutta算法ode3采用固定步长的Bogacki-Shampine算法ode3采用固定步长的2阶Runge-Kutta算法,也称Heun算法ode1固定步长的Eular算法discrete不含积分的固定步长算法,适用于没有连续状态仅有离散状态模型的计算10.5运行仿真《MATLAB程序设计》33
10.5.3示波器的使用(1)示波器参数单击示波器参数按钮,弹出示波器参数对话框,该对话框中含有三个选项卡,分别是常设、时间、画面、记录。10.5运行仿真《MATLAB程序设计》34
10.5.3示波器的使用(1)示波器参数单击示波器参数按钮,弹出示波器参数对话框,该对话框中含有三个选项卡,分别是常设、时间、画面、记录。①常设选项卡
“输入端口个数”坐标个数文本框:用于设定示波器的y轴数量,即示波器的输入信号端口的个数,默认值为1,即该示波器用以观察一路信号。若将其设为2,则可以同时观察两路信号,示波器的图标也自动变为两个输入端口;其示波器窗口内显示的图形也会变成两个。10.5运行仿真《MATLAB程序设计》35
10.5.3示波器的使用①常设选项卡10.5运行仿真《MATLAB程序设计》36
10.5.3示波器的使用将数据点限制为最后:用于数据点数设置。选中后,其右侧的文本框被激活,默认值为5000,表示示波器显示5000个数据,若超过5000个数据,也仅显示最后的5000个数据。若不选该项,所有数据都显示,但对计算机内存要求较高。②记录选项卡10.5运行仿真《MATLAB程序设计》37
10.5.3示波器的使用③风格选项卡图框颜色:选择图形绘制的背景颜色;坐标区颜色:第一个下拉框可以选择坐标轴的颜色,第二个可以选择文字的颜色;曲线属性:分别可以在Line线条属性和Marker标注属性中选择不同的曲线绘制方法,与第二章中图形绘制所介绍的属性类似。10.5运行仿真《MATLAB程序设计》38
10.5.3示波器的使用④图形放缩仿真波形在示波器中显示,有时读者需要对波形显示区域和大小进行适当调整,达到最佳观察效果。示波器窗口的工具栏提供了两个工具按钮用以图形缩放操作。a区域放大按钮:首先在工具栏中单击该按钮,然后在窗口中需要放大的区域上按住鼠标左键并拖曳一个矩形框,用矩形框框住需要放大的图形区域,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年秋季开学高中军训出列入列课件
- 2026年秋季开学大学开学第一课(抗挫教育)课件
- 2026秋部编版五年级上册语文第一单元单元培优卷(B卷)
- 新质生产力驱动下企业竞争力形成机制研究
- 经营杠杆水平与企业盈利能力波动关系的实证分析
- 环境权益交易与碳金融市场的运作机制研究
- 大规模语言模型实践案例研究
- 人工智能驱动下企业数字化转型的变革机制与效应分析
- 2026 年康复护理质量质控评价与持续改进
- 农业领域冷库安全生产标准化检查清单
- 2026乐山市市中区国有企业第二批社会招聘6人考试备考试题及答案详解
- 2026年渠县人力资源和社会保障局增量政策性岗位招募175人笔试备考试题及答案详解
- 2022 低环境温度空气源多联式热泵(空调)机组
- 公司财务管理制度完整范本
- 2023版MRI临床应用安全专家共识课件
- 2026年审计系统公文写作规范考试题
- 2026年农商银行网络运维岗位题库
- 内蒙古辅警综合基础知识历年真题
- 复方比那甫西颗粒-临床药品应用解读
- 山东高速集团招聘面试题及答案
- 2011桂林奥林匹克花园项目发展战略及2012年推广报告2
评论
0/150
提交评论