- 1、本文档共121页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Simulink的动态系统建模与仿真_精品
* 除了直接在SIMULINK环境下启动仿真外,还可以在MATLAB命令窗口中通过函数进行,格式如下: [t,x,y]=sim(‘模型文件名’,[to tf],simset(‘参数1’,参数值1,‘参数2’,参数值2, …)) 其中to为仿真起始时间,tf为仿真终止时间。 [t,x,y]为返回值,t为返回的时间向量值,x为返回的状态值,y为返回的输出向量值。 提问:什么情况下需要用命令行方式执行Simulink仿真? * s = simget(‘Input_output’) 模型模型名称后不要加后缀(扩展名)。 * 需要配合相应的仿真循环和数据存储程序。 * Save 与load指令中文件名可以不用单引号括起来。 Save还可以指定要存的变量名,以及存储的格式 help save * * 请学生上台演示 * * 自顶向下设计有助于我们把握系统的宏观构架和逻辑关系,而不至于一开始就拘泥于细节。比较适合设计之初对对象的总体结构及其相互关系有较清楚的了解,而对各子系统的细节知之甚少的情况。 一种方法是采用SignalSystems 模块库中的Subsystem功能模块,利用其编辑区设计组合新的功能模块; 将SignalSystems 模块库中的Subsystem功能模块复制到打开的模型窗口中。 双击Subsystem功能模块,进入自定义功能模块窗口,从而可以利用已有的基本功能模块设计出新的功能模块。 另一种方法是将现有的多个功能模块组合起来,形成新的功能模块。对于很大的SIMULINK模型,通过自定义功能模块可以简化图形,减少功能模块的个数,有利于模型的分层构建。 在模型窗口中建立所定义功能模块的子模块。 用鼠标将这些需要组合的功能模块框住,然后选择Edit菜单下的Create Subsystem即可。 * * 触发后,对输入端进行采样保持,并进行模块计算,输出结果。 触发子系统 触发子系统只在触发事件发生的时刻执行。所谓触发事件也就是触发子系统的控制信号,一个触发子系统只能有一个控制信号,在Simulink中称之为触发输入。 触发事件有4种类型,即上升沿触发、下降沿触发、跳变触发和回调函数触发。双击触发子系统中的触发器模块(Trigger),在弹出的对话框中可选择触发类型。 * 使能信号为正时,输入端口信号开始传输,否则,信号保持。 使能子系统 该子系统当使能端控制信号为正时,系统处于“允许”状态,否则为“禁止”状态。“使能”控制信号可以为标量,也可以为向量。当为标量信号时,只要该信号大于零,子系统就开始执行;当为向量信号时,只要其中一个信号大于零,也“使能”子系统。 * 使能信号与触发信号同时起作用时,输入端信号被采样保持 * 在建立的Simulink系统模型比较大或很复杂时,可将一些模块组合成子系统,这样可使 模型得到简化,便于连线; 可提高效率,便于调试; 可生成层次化的模型图表,用户可采取自上而下或自下而上的设计方法。 * 将一个创建好的子系统进行封装,也就是使子系统象一个模块一样,例如可以有自己的参数设置对话框,自己的模块图标等。这样就使子系统使用起来非常方便。 * * * 双击鼠标左键,或点击鼠标右键,在弹出的快捷菜单中,选择Mask Parameters,可以进行参数设置 点击鼠标右键,在弹出的快捷菜单中,选择Look Under Mask,可以打开该子系统。 点击鼠标右键,在弹出的快捷菜单中,选择Edit Mask,可以重新编辑该封装。 * Evalue:选中,表示将用户输入的表达式赋予相应的变量之前先对表达式求值,否则作为字符串赋予变量; Tunable:选中,表示仿真过程中可以对该参数进行修改。 初始化页Initialization:仿真开始时或参数设置修改后执行的代码。 * 系统的封装给不同领域的设计者带来了很大的方便,使用者调用这些模块如同调用Simulink内部模块一样,可以使用封装子系统的帮助来了解如何进行模块设置,而不需要了解模块内部的构成。但是如果封装的子系统比较多,应用的范围也不相同,如何有效地管理这些模块就成为一个非常重要的问题。 模块库就是指具有某种属性的一类模块的集合。在Simulink模块浏览器中有大量的模块库,用户就可以调用其中的模块来进行各种系统的仿真。Simulink允许用户自己开发模块,并在建立自己模块库的同时,对开发的模块进行有效地管理。自定义模块库的使用方法和Simulink其他自带的模块库的使用完全一样。 * * * Embedded MATLAB Function 模块: 用来描述静态计算关系的基本形式,不支持附加参数的输入,不支持全局变量。 函数输入参数与输出参数对应于模块的输入端口与输出端口。 * Disc
文档评论(0)