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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

Simulink的使用.docx

1、Simulink的使用Simulink的使用 Matlab的Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。它使得Matlab的功能得到进一步的扩展,这种扩展表现在三个方面: (1)实现了可视化建模,在Windows环境下,用户可以通过简单的鼠标操作建立直观的系统模型,进行分析仿真。 (2)实现了多种环境间的文件共享与数据交换,甚至能够与硬件实现实时信息交换。 (3)把理论研究与工程实现有机地结合在一起。Simulink支持连续、离散及混合的线性系统和非线性系统,并且支持多采样率系统。其可视化建模体现在为用户提供了用方框图进行系统建模的图形接口.Simulink具有一个较为完

2、整的模型库,包括源节点(Source)、阱节点(Sink)、线性环节(Linear)、非线性环节(Nonlinear)、连线与接口(Connections)和其他环节(Extra),用户还可以根据需要定制和创建自己的模块。 Simulink模型具有分层的等级结构,用户可以采用由上到下或从下到上的方式构建系统模型。可以从全局的角度来考察系统,然后用鼠标双击其中的子系统模块,来查看下一级的内容,依此类推,可以看到系统模型的全部细节。这种方式帮助用户洞察整个系统模型的体系结构及其各个部分的相互关系。 定义完一个模型后,用户可以通过Simulink的菜单或者Matlab命令对它进行仿真。可以在仿真的同

3、时显示仿真结果,非常实用。除此之外,还可以在用户改变参数之后迅速观察到系统中发生的变化。Simulink的仿真结果可以输入到Matlab工作空间,进行事后处理或者可视化输出。 Simulink的实时工作间(Real-Time Workshop,以后简称RTW)直接从Simulink的系统框图自动生成C语言代码,这样一来,就允许在更广的计算机平台(包括实时硬件)上执行连续、时间离散及混合系统模型。Simulink RTW的Ada扩展的作用是直接从Simulink的系统框图自动生成Ada浯言代码。 1. 启动Simulink启动Simulink通常有三种方式:1)直接从Matlab指令窗口选取菜单

4、File| New| Modal命令,Matlab将会打开Simulink库浏览器和名为untitled的模型窗口。2)在Matlab命令窗口中键人Simulink命令,Matlab将会打开Simulink库浏览器。3)点击Matlab命令窗口工具条的图标,启动Simulink库浏览器。由启动Simulink的三种方式,要新建一个模型文件,至少可以采用两种方式:1)直接从Matlab指令窗口选取菜单File|New|Modal命令。2)先启动Simulink库浏览器,然后点击Simulink库浏览器的工具条中的“新建模型”图标,建立新的模型文件。如果模型文件已经存在,至少有三种方法打开模型文件

5、:1)从Matlab指令窗口选取菜单File|Open命令。2)先启动Simulink库浏览器,然后点击Simulink库浏览器的工具条中的“打开模型”图标,打开已经存在的模型文件,对它进行编辑、修改和仿真。3)在Matlab命令窗口中键人模型文件名称,不需要mdl后缀。Simulink用不同的窗口显示模块库、模型号和仿真输出图形结果这些窗口不是Matlab图形窗口,不能用句柄图形命令来操作。 2. Simulink例 本节通过一个实例,先简单地介绍一下Simulink环境,然后介绍如何使用Simulink进行系统建模、系统仿真。现在需要对一个正弦信号积分,显示正弦信号与积分结果,该模型的框图

6、如图1所示。图1 目标正弦积分模型要构建一个模型,必须先启动Matlab。然后在Matlab命令窗口下键人Simulink命令,便打开一个名为Simulink Library Browser的Simulink模块库浏览器。将鼠标指针移到Simulink库之上点击鼠标右键,将出现弹出菜单Open the Simulink Library;点击左键选择打开,则启动Simulink库的窗口界面。点击新建模型工具条按钮,创建一个新的系统模型,此时Simulink打开一个名为untitled的空白窗口.将新模型窗口移到屏幕的右侧,使屏幕上能够同时看到窗口的内容和模块库的内容。从模型的功能框图可以看出,该

7、模型用到了如下模块库:源节点库(正弦波模块)。阱节点库(观测器模块)。连续信号库(积分器模块)信号与系统库(多路转换器模块)。现在需要将所需的模块逐一拷贝到模型窗口中。在Simulink库浏览器中,将Simulink库浏览树展开,点击Sources选择源节点库,再在右边找到正弦波模块。将图中的Scope拖放到新建的模型窗口中。用同样的方法拷贝其他几个模块。每个模块的图标外面都有符号“”,表示信号的输入输出,这些端口符号在模块连线以后将消失。进行模块间连线。将鼠标指针移到模块端口附近,鼠标指针变为“+”,按下左键,拖动鼠标到另一连接点,松开左键即可。在模块连线中,有一条线必须分支,分支线的画法与

8、普通线的画法略有不同。先将鼠标指针移到要分支的线上,按住Ctrl键,再按下左键,将鼠标拖到另一连接点,松开左键即可。为方便观察各个模块的名称及其数据,鼠标选取菜单View |Blockdata tips options的三个选项。此时将鼠标指针停在正弦波模块上,弹出窗口显示相应模块的名称、参数名称及参数数值、用户定义字符串。如果需要修改模块的属性,只需双击该模块,即可在其属性窗口中任意修改。在本例中,所有模块的属性都使用缺省值,关于如何设置各个模块的属性,后面会专门讨论。选择窗口菜单Simulation|Start,执行模型仿真。3.构建模型 标准模块的选取构建Simulink模型的许多操作,

9、如拷贝模块或删除连线,都需要准确地选取这些对象。选取单一对象,鼠标点击即可。选取多个对象,其操作是按住Shift键,用鼠标逐一点击需要选取的对象。另外,模型窗口的菜单Edit|SelectAll命令可选择模型窗口中所有的对象。 模块的编辑模块的编辑包括模块的移动、拷贝、剪切、粘贴和删除。所有这些操作都与Windows环境下的操作一样。 模块属性的修改对模块进行多种格式设置,格式设置操作均由菜单Format中的命令完成。下面分别介绍几种常用的操作。1改变模块的方向菜单命令“Format|Flip Block,旋转模块180度;菜单命令“Format|Rotate Block,顺时针旋转模块90度

10、。2.改变模块的尺寸该操作与在Word中改变图片尺寸的操作一模一样,先选中对象,再移动鼠标到适当位置按下左键,拖动员标即可。3改变模块的名称 在前面的例子中我们已经看到,模块下面都有相应的标题名称,用户可以根据实际情况对模块的标题进行修改。其操作相当简单,用鼠标点击模块标题名称,Simulink在模块名称外置一方框,删除现有标题,输入新标题,中西文皆可,最后在窗口的其他位置点击鼠标,修改工作完成。菜单命令Format|Flip Name改变模块名称的位置。菜单命令Format|Hide NameFormat|ShowName,显示或隐藏模块名称。菜单命令Format|Font,显示字体设置对话

11、框,改变模块的字体。在很多情况下,我们希望在系统框图中的适当位置显示各个模块的参数。Simulink提供了在模块图标下显示对应参数的功能,在实现时至少有两种方法。第一种方法:先选中模块,再运行菜单命令Edit|Block properties显示模块属性对话框, 然后在Attributes frmat string一栏中输入属性格式化字符串。在模块上点击鼠标右键,弹出菜单中同样有Block properties项,其功能与前者一样。第二种方法:使用函数set_param设置模块的AttributesFormatString为属性格式化字符串。属性格式化字符串是内嵌参数名称的任意文本字符串(te

12、xtstring)。内嵌参数名称由参数名称前力口上“”构成,如“”。Simulink将属性格式化字符串中每个参数名称替换为对应的参数值,显示在模块图标下面。可以使用换行符(n)将每个参数显示为单独的一行,如对一个正弦波模块: Amp=nFreq=如果参数值不是字符串或整数,Simulink将参数值显示为“NS”;如果参数名无效,则显示为“?”。 模块的连接将鼠标指针置于模块间连线的适当位置,按下鼠标右键,鼠标指针变为“+”,拖动鼠标到合适的位置,释放右键,窗口中出现一条箭头线;再从此箭头开始,按住鼠标右键或左键,拖动鼠标到合适的位置,依此类推,直到完成整个“折”线。 构建子系统在系统模型不断变

13、大、变复杂时,可以采用定义子系统的方式简化系统框图。运用子系可以减少模型窗口中显示模块的数目,并可将功能相关的模块集中在一起,使建立的系统框层次结构化。可以采用两种方法构建子系统:其一是在系统模型中添加Subsystem模块,然后将模块打添加内容;其二是先添加子系统中的模块,再将这些模块组合成子系统。本小节就分别介绍两种方法。1添加Subsystem模块方法这种方法构建子系统有三个步骤:1)从信号与系统库中拷贝添加Subsystem模块。2)双击Subsystem打开Subsystem模块。3)同构建普通系统一样,为新建的子系统添加所需的模块。用Input模块表示从子系统外输入;用Output

14、模块表示子系统对外的输出.2由现存模块组合子系统由现存模块组合子系统的操作可以分为两个步骤:1)将所有希望包括在子系统中的模块和连线选择在同一个框中,注意不可以逐一单独选择,不可以用SelectAll命令.2)从Edit菜单中选择Create Subsystem命令,Simulink将选中的模块用一个Subsystem模块代替.如果打开Subsystem模块,可以看到其内容。注意Simalink添加了Input和Output模块,表示子系统的输入输出。 模型文件的保存及其格式构建好一个模型后,选择菜单命令File|Save或File|SaveAs将模型存盘。文件是以ASCII形式存储的mdl文

15、件,文件中包含了该模型的所有信息,既包括数学模型内涵,也包括外部框图的形状位置信息。如果是第一次保存某个模型,菜单命令Pile|Save将激活标准的文件保存对话框,指定文件路径与名称,点击“保存”按钮即可。值得注意的是模型文件的名称必须以字母开头,只能使用字母、数字和下划线,长度不大于31个字符。由于模型文件是以ASCII形式存储的,所以可以用type指令查看其内容,也可以用字处理器对它进行编辑修改。为了对模型文件有一个比较清楚的了解,现对其简要介绍。准确地说,模型文件是一种结构化的ASCII文件,包括文件关键字和描述模型的参数、参数值,其结构如下:Model . BlockDefaults

16、. AnnotationDefaults . System . Block . Line Branch . Annotation . 可以用记事本打开某个模型文件看一看,并且动手适当修改。虽然可以用文字编辑器对模型文件进行修改,而且在有些场合确实比较方便,但是建议不要这么做,除非对此有十分的把握。 框图的打印菜单命令File|Print执行打印框图的操作。当我们运行打印命令时,Simulink首先显示打印对话框,该对话框允许选择需要打印的内容。打印工作支持以下选项: 打印当前系统。 打印当前系统与模型中所有级别比它高的系统。 打印当前系统与模型中所有级别比它低的系统。 打印模型中所有的系统。

17、打印时为每一框图添加边框。当选择选项Current system and below或All systems时,打印对话框中的两个复选框可用.选择复选框“Frame”,打印时为每一框图添加题头边框。先用Matlab边框编辑器定义一个有自己特色的题头边框,然后在Frame复选框后指定边框文件的路径,即可在模型框图上添加漂亮的边框。4.运行Simulink(1)仿真参数对话框在介绍运行Simulink之前,先介级仿真参数对话框。在仿真参数对话框中对各种参数进行设置与使用sim和simset命令的效果是一样的。Simulation| Simulation Parameters仿真参数设置对话框,包含

18、有5页不同的内容(如果没有安装RTW,将只有前4页内容)。1Solver页Solver页包括三个方面的设置内容:设置仿真的起止时间;选择算解程序并指定参数;选择输出选项。仿真时间的缺省值为0秒开始至10秒结束。注意仿真时间与真实时间是不一样的。比方说运行一个10秒的仿真通常就不需要10秒时间,仿真实际需要的时间与很多因素有关,包括模型的复杂程度、算解程序的步长、计算机的速度等。由于Simulink模型的仿真涉及到常微分方程的数值积分,对相同的问题、不同的算法会产生不同的效果,所以Simulink提供了多种算解程序,供用户根据系统的动态特性选择使用。更为详细的介绍请单击help按钮查阅。输出选项

19、有三种选择项:净化输出、产生附加输出、只产生特定输出。当仿真输出数据过于粗糙时,净化输出将自动产生附加输出点。净化系数是一个整数,指定任意时间点之间输出数据的数目。缺省净化系数为1。产生附加输出选项允许指定算解程序输出特定时间点的结果,当选择此项后,必须在Output Times栏中指定输出时间。这种情况下,输出结果将输出与附加输出融合在一起。只产生特定输出选项指定算解程序,只输出规定的时间点仿真结果。例如,某仿真在以下时间点输出:0, 25, 5, 85, 10现选择净化输出,并指定净化系数为2,则产生如下时间点的输出:0,125,25,375,5,675,85,925,10如果选择产生附加

20、输出,并指定附加输出时间为0:10,则产生如下时间点的输出:0, 1, 3, 4, 5, 6, 7, 8, 9, 10以及其他一些时间点(取决于算解程序的步长)。如果选择只产生指定输出,并指定附加输出时间为0:10,则产生如下时间点的输出:1, 1, 3, 4, 5, 6, 7, 8, 9, 10而不再有其他的输出点。2Workspace IO页在Simulink中进行仿真运算时,可以直接从工作空间中输人数据和初始状态,也可以将仿真结果输出到工作空间的变量中。所有这些都在仿真参数对话框的Workspace IO页中进行设置,如图7-22所示。该页的设置包括三部分内容,其一是指定从工作空间中加载

21、的内容,包括输入与初始状态两项内容;其二是指定输出到工作空间的数据,包括时间、状态、输出和最终状态四项内容;其三是保存的选项。 图7-22仿真参数对话框WorkspaceIO页从工作空间中加载数据时,先选中Input复选框,然后即可在复选框右边的输入栏中输入已经在工作空间中定义好的数据。当然用户最关心的是输人数据的格式,Simulink允许多种输入格式,可以是矩阵输入,带时间的结构输入,普通结构输入。当使用外部矩阵输入时,如果系统模型有n个输人,那么输入矩阵必须是n+l列的。例如,某模型有两个输入端,其中一个输入端接收两个信号,另一个输入端接收一个信号。假设在工作空间中如下定义u和t:t=(0

22、:0.1:1);u=sin(t),cos(t),4*cos(t);现在为该模型指定外部输入,仅需选中Input复选框即可,因为参数设置对话框中为模型设置的外部输入缺省值为t,u.如果在输人数据中指定的是工作空间中的一个结构,同样是可以的。此时的输入结构要求必须包含两个顶级字段:time和signals,signals字段包含每个输入端对应的信号的子结构,每个子结构必须包含values字段,values字段为对应每个输入端的输入列矢量。例如某系统模型有两个输入端,每个输入端输人一个信号。假设在工作空间中如下定义输入矢量a: a.time= (0:01:1); a.signals(1).value

23、s=sin(a.time); a.signals(2).values=cos(a.time);现将a指定为该模型的外部输人,选定复选框Input,在其右边的输人框中键人字母a即可。选定Time、States、Output复选框,并指定相应的返回变量名称,如果需要指定多个返回变量,在变量名称之间加上逗号即可。在保存输出结果时,Simulink的采样率为模型的基采样速率。如果希望改变输出结果的采样率,则必须在模型中使用一个名为了To Workspace的模块。保存选项允许指定输出格式、限制输出数量。3Diagnostics页通过Diagnostics(诊断)页,可以指定仿真过程中16种特殊事件和特

24、定条件的理想动作:不动作,告警或报错,如图7-23所示。在本页中还提供仿真运算的两个选项:一致性检查和边界检查。一致性检查是检查Simulink ODE算解程序的某些假定的有效性的调试工具。其主要作用是保证模型的S函数与Simulink内建模块遵循相同的规则。由于一致性检查通常导致仿真性能显著下降,一般情况下将该项设置为off。边界检查的作用是在仿真过程中,Simulink检查模块是否在分配的内存空间以外执行写操作这种情况通常主要发生在当用户定义的S函数有bug时。如果边界检查使能,则每次运行模型中的任意模块时均执行这一检查,其结果是显著降低模型仿真速度。因此,为了避免不必要地降低仿真速度,仅

25、当怀疑自定义S函数有bugfl寸才使这一选项使能。4Advanced页Advanced页允许用户设置各种影响仿真性能的选项,如图7-24所示。由于该页涉及的均属于仿真中的高级设置,读者在实际工作需要时,可查看帮助文档进行适当设置,这里不再详细介绍。(2)用菜单命令运行仿真用菜单命令运行仿真,首先选择菜单命令Simulation | Simulationparameters,这一命令的快捷键为Ctrl-E,对仿真参数进行设置。在算解程序页设置仿真的起止时间、选择适当的算解程序、设置算解程序参数,并选择适当的输出选项。在Workspace I0页设置从Matlab的输入数据及格式,设置输出到Mat

26、lab的数据及相关限制;诊断页选择仿真过程中显示警告信息的级别层次:在选择箅解程序并指定仿真参数之后,点击对话框底部的Apply按钮,使得所有设置生效,最后点击Close按钮结束设置。选择菜单命令SimulationIStart开始仿真,这一命令的快捷键为Ctrl-T;菜单命令Simulation|Stop终止仿真,这一命令的快捷键同样为CtrlT。这两个命令在模型窗口的工具条都有相应的按钮。在仿真结束时,计算机有声音提示。在系统模型的仿真过程中,我们总希望能够修改模型中的各个模块的参数,比方说改变正弦信号的频率和幅度,充分了解系统的性能。在Simulink中,我们可以通过鼠标双击任意模块,在

27、模块参数框中任意修改模块的参数指标。仿真过程中,免不了要出错,Simulink在仿真过程中遇到错误即停止仿真,并显示诊断对话框。点击Open按钮,显示模型错误所在。(3)用命令行运行仿真命令行运行仿真命令的完整语法为:t,x,y=sim(model,timespan,options,ut);所有参数中只有“model”是必须的。命令set_param可以启动、终止、暂停、继续仿真。而命令get_param则返回仿真的状态。命令set param的用法为:set_param(sys,SimulationCommand,cmd)其中sys为系统的名称,cmd为start、stop、pause、co

28、ntlnu和update之一。命令get param的用法为:get_param(sys,SimulationStatus)该函数的返回值为stopped、initializing、running、paused、terminating、external之一。(4) Simulink的调试 Simulink debugger是一个定位诊断Simulink模型错误的工具,它允许单步执行仿真,并显示其中各个模块的状态与输入输出。在Matlab 60中,既可以采用传统的方式,在命令窗口调式仿真模型,也可以使用集成调试环境,这两种方式的实质是相同的。为便于读者掌握Simulink debugger. 命

29、令窗口调试在命令窗口中,有两种方法在调试器下启动模型,第一种方法是使用sldebug命令,第二种方法是使用sim命令设置调试属性。例如现在调试一个名为deb的模型,就可以使用下面的命令:sim(deb,O,10,simset(debug,on)或者sldebug deb命令将deb模型调入内存,并且于第一个时间点暂停在第一个模块。调试器启动模型框图中的初始模块及其相关的输出信号。调试器还在Matlab命令窗口中打印出仿真开始时间,同时还打印出调试命令提示行。如前面的命令即在启动模型的同时,还在Matlab命令窗口有如下输出:sldebug debTm=0 *Start* Of system d

30、eb outputs(sldebug 0:0 debSine Wave):现在,可以在调试命令提示行后输入适当的命令,获取调试帮助、单步运行仿真和其他的仿真调试任务。 获取调试帮助在调试命令提示行后输入help或?,Maclab将打印出调试命令的简短帮助。如果需要详细的帮助,可以查看相关的文档。 单步调试命令step将当前调试的仿真运行到下一个模块。在执行完某个模块之后,调试器在Matlab命令窗口打印出该模块的输入(用U表示)输出(用Y表示),并再次显示调试命令提示行,准备下一步调试。当一轮仿真结束即将开始下一轮仿真时,调试器暂停在第一个模块前,并打印当前仿真时间,以作为开始下一轮仿真运算的提示。 (sldebug 0:0 debSine Wave):step Y1=0.5646424733950355 (sldebug 0:1 debGain): step U1=0.5646424733950355 Y1=1.693927420185106 Tm=0.8 *Sta

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1