创建matlab子模块完整版.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

把你想要封装的局部用鼠标框选,选中后点右键里面有createsubsystem,就可以建立子模块了

另一种方法

simulink如何构建及封装子系统

今天在用DSP-Builder做FIR滤波器的时候遇到一些难题。下列图所示的是在simulink中设计的一个个位阶数FIR模型

?

这里可以看到一个问题,如果设计的滤波器的阶数比拟大的时候,就不好全部方便的显示所有局部。其实只要把相关局部打包一下就可以了。以下是网上搜到的一篇很有指导意义的文章。

?

???绝大多数的程序设计语言都有使用子程序的功能。在FORTRAN里有subroutine子程序和function子程序;C语言中的子程序被称为“函数〞;Matlab的子程序称为函数式M文件。Sinlulilnk也提供了类似的功能——子程序。

???随着模型越来越大、越来越复杂,人们很难轻易的读懂它们。在这种情况下,子系统通过把大的模型分割成几个小的模型系统以使得整个系统模型更简捷、可读性更高,而且这种操作并不复杂。举一个简单的例子,考虑在例1中提到的汽车模型,其Simulink模型图见图。

?

?????????????????????????????????????图比例速度控制的汽车模型

???整个模型包括两个主要局部:发动机动力系统和控制系统。但是在模型图中哪些模块代表发动机动力系统,那些模块代表控制系统并不明确。在图中,将模型的这两个局部转化为子系统。经过转化后,主模型图中的构造就变得很明了了,只是两个子系统的具体构造被隐藏起来了,双击子系统模块,那么会在一个新的窗口中显示子系统的模块图。如图7.5.3所示。

?

????????????????????????????????????图子模块化了的汽车模型

???子系统的另外一个重要的功能是把反复使用的模块组压缩成子系统后重复使用。在本例中,如果要比拟在同一控制系统控制下不同发动机的工作效率,只需要替换新的发动机子系统而不是重建一个新的系统。这样的控制系统就可以反复利用。

???注意:这种做法不仅节省了建模时间,而且可以保证在屡次建模中不会因失误而在控制子系统中出现过失,这在大型的复杂系统建模中是非常重要的。

创立Simulink子系统共有两种方法:

·一种方法是对已存在的模型的某些局部或全部使用菜单命令【Edit/CreateSubsystem】进展压缩转化,使之成为子系统;

·另一种方法是使用Connections模块库中的Subsystem模块直接创立子系统。

?下面分别介绍这两种方法。

?

??????(a)控制子系统????????????????????????????????(b)发动机动力子系统

????????????????????????????图子系统分解?

一、压缩子系统

把已经存在的Simulink模型中的某个局部或全部压缩成子系统的操作如下:

步骤一:

首先使用范围框将要压缩成子系统的局部选中,包括模块和信号线,如下图。

????????

??????????????????????????图选中要压缩的模块

注意:在这种情况下只能用范围框,而不能用Shift逐个选定。

为了能使范围框框住所有需要的模块,重新安排模块的位置常常似乎是必要的。

步骤二:

在模块窗口菜单项选择项中选择【EditCreatSubsystem】,Simulink将会用一个子系统模块代替被选中的模块组,如下图。

?????????

????????????????????????????图压缩后的模型图

步骤三:

???子系统模块将有一个默认输入端口和输出端口。输入端口和输出端口的默认名分别为In1和Out1。调整子系统和模型窗口的大小使之美观,如下图。

????????????

????????????????????????????图压缩后的模型图

???假设想查看子系统内容或对子系统进展再编辑,可以双击子系统模块,那么会出现一个显示子系统内容的新窗口。在窗口内,除了原始的模块外,Simulink自动添加了输入模块和输出模块,分别代表子系统的输入端口和输出端口。改变它们的标签会使子系统的输入输出端口的标签也随着变化。

???特别注意:菜单命令【Edit/CreatSubsystem】没有相反的操作命令。也就是说一旦将一组模块压缩成子系统,就没有直接复原的处理方法了〔UNDO除外〕。因此一个理想的处理方法是在压缩子系统之前先把模型保存一下,作为备份。

二、子系统模块

???在创立模型的时候,如果需要一个子系统,也可以直接在子系统窗口中创立。这样就省去了上面的压缩子系统和重新安排窗口的步骤。

要使用子系统模块创立新的子系统,先从SignalsS

文档评论(0)

134****9237 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档