- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章MATLAB的仿真-Simulink
5.6 Simulink建立系统模型示例 注:演示例4 观察单位阶跃函数经惯性环节后的仿真曲线。 注:演示例5 用Simulink求以下微分方程: * 注:演示例10 系统的开环传递函数为 在Simulink下观察系统在不同输入下的响应曲线。 5.6 Simulink建立系统模型示例 * 例10系统的Simulink模型图 * 5.7 Simulink的高级应用――S-函数的编写 * 5.7 Simulink的高级应用――S-函数的编写 用户可以通过Simulink模块库中的内置模块构建系统模型。但有时会发现特殊应用无法由这些内置模块完成。 S-函数提供了增强和扩展 Simulink 的强大机制。 S-函数是系统函数(System Function)的简称,具有固定的程序编写格式,用户可采用 MATLAB语言编写 S-函数,此外还允许采用 C,C++,FORTRAN 或 Ada 等语言编写。不过用这些语言编写程序时,要将其编译生成动态连接库(DLL)文件,才可在Simulink中直接调用。 * 5.7 Simulink的高级应用――S-函数的编写 S-函数允许用户向模型中添加自己编写的模块,只要按照简单的规则,就可以在S-函数添加算法。 编写完S-函数之后,将 S-函数的名称放在S-Function 模块中,利用 Simulink 中的封装功能自定义模块的用户接口。 * S-函数的仿真过程 初始化。在仿真开始前,Simulink 在这个阶段初始化 S-函数。 初始化结构体 SimStruct,它包含了 S-函数的所有信息; 设置输入/输出端口数; 设置采样时间; 分配存储空间。 * S-函数的仿真过程 数值积分。用于连续状态的求解和非采样过零点。如果 S-函数存在连续状态,Simulink 就在 minor step time内调用 mdlDerivatives 和 mdlOutput 两个S-函数的子函数。如果存在非采样过零点,Simulink 将调用 mdlOutput 和 mdlZeroCrossings 子函数(过零点检测子函数),以定位过零点。 * S-函数的仿真过程 更新离散状态。此子函数在每个步长处都要执行一次,可以在这个子函数中添加每一个仿真步都需要更新的内容,如离散状态的更新。 计算输出。计算所有输出端口的输出值。 * S-函数的仿真过程 计算下一个采样时间点。只有在使用变步长求解器进行仿真时,才需要计算下一个采样时间点,即计算下一步的仿真步长。 仿真结束。在仿真结束时调用,可以在此完成结束仿真所需的工作。 * S-函数的设计模板 函数名 function [sys,x0,str,ts] = sfuntmpl(t,x,u,flag) 模板文件结构非常清晰。它使用switch语句结构,当条件表达式为不同值时,即调用相应的子函数进行处理。 注:打开模板文件,演示并说明其结构。 * 5.7.2 S-函数的设计实例 注:演示例6 对系统 如选取状态变量x=y,则其状态空间方程可表示为 对系统建立S-函数,绘制此控制系统的阶跃响应曲线。 * 5.7.2 S-函数的设计实例 注:演示例7 系统状态方程 其中: , , , 用S-函数实现此系统功能。 * 本章小结 Simulink是MATLAB里的一个实现动态系统建模、仿真与分析的仿真集成环境软件工具包。熟练掌握Simulink的使用,可以使控制系统计算与仿真更加方便高效。 为便于仿真,Simulink模块库提供了丰富的功能模块。这些模块分属于不同功能、不同类别的子模块库。需要熟悉这些模块所在位置以及它们的功能和使用方法。 * 本章小结(续) 子系统建立与封装。子系统可以将联系比较紧密、相关的模块进行封装,便于系统分层结构的建立,更有利于仿真应用和组态。组合后的子系统可以进行类似于模块的设置,在模型仿真过程中可以作为一个模块。子系统的封装可进一步将子系统的内部结构隐藏起来,在访问该模块时只通过对话框即可进行内部参数的设置。 * 本章小结(续) S-函数提供了增强和扩展 Simulink 的强大机制。S-函数允许用户向模型中添加自己编写的模块,只要按照简单的规则,就可以在S-函数添加算法。编写完S-函数之后,将 S-函数的名称放在S-Function 模块中,利用 Simulink 中的封装功能自定义模块的用户接口。 * 系统仿真技术 第5章 MATLAB的仿真集成环境 Simulink * 引言 Simulink是MATLAB里的一个实现动态系统建模、仿真与分析的仿真集成环境软件工具包,是控制系统计算与仿真最先进的高效工具。 本章首先对Simulink环境介绍,对功能模块做了说明,并给出一些示例。对如何建立子系统与模
文档评论(0)