创建matlab子模块_第1页
创建matlab子模块_第2页
创建matlab子模块_第3页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、把你想要封装的局部用鼠标框选,选中后点右键里面有create subsystem,就可以建立子模块了另一种方法simulink如何构建及圭寸装子系统今天在用DSP-Builder做FIR滤波器的时候遇到一些难题。下列图所示的是在simulink中设计的一个个位阶数FIR模型这里可以看到一个问题,如果设计的滤波器的阶数比拟大的时候, 就不好全 部方便的显示所有局部。其实只要把相关局部打包一下就可以了。 以下是网上搜 到的一篇很有指导意义的文章。绝大多数的程序设计语言都有使用子程序的功能。在FORTRA里有subroutine子程序和function子程序;C语言中的子程序被称为“函数; Matl

2、ab的子程序称为函数式M文件。Sinlulilnk也提供了类似的功能子程序。随着模型越来越大、越来越复杂,人们很难轻易的读懂它们。在这种情 况下,子系统通过把大的模型分割成几个小的模型系统以使得整个系统模型更简 捷、可读性更高,而且这种操作并不复杂。举一个简单的例子,考虑在例1中提到的汽车模型,其Simulink模型图见图。10002000minConstsrrtSumiMux Creat Subsystem ,Simulink将会用一个子系统模块代替被选中的模块组,如图所示。图压缩后的模型图步骤三:子系统模块将有一个默认输入端口和输出端口。输入端口和输出端口的默认名分别为In1和Out1。调

3、整子系统和模型窗口的大小使之美观,如图所示。图压缩后的模型图假设想查看子系统内容或对子系统进行再编辑,可以双击子系统模块,那么会出现一个显示子系统内容的新窗口。 在窗口内,除了原始的模块外,Simulink 自动添加了输入模块和输出模块,分别代表子系统的输入端口和输出端口。 改变 它们的标签会使子系统的输入输出端口的标签也随着变化。特别注意:菜单命令【Edit/Creat Subsystem 没有相反的操作命令。也就是说一旦将一组模块压缩成子系统,就没有直接复原的处理方法了 UNDO 除外。因此一个理想的处理方法是在压缩子系统之前先把模型保存一下,作为备份。、子系统模块在创立模型的时候,如果需

4、要一个子系统,也可以直接在子系统窗口中 创立。这样就省去了上面的压缩子系统和重新安排窗口的步骤。要使用子系统模块创立新的子系统,先从 Signals & Systems模块库中拖一个子 系统模块到模型窗口中。双击子系统模块,就会出现一个子系统编辑窗口。注意:在信号输入端口要使用一个输入模块,在信号输出端口要使用一 个输出模块。子系统创立完毕后,关闭子系统窗口。关闭子系统窗口之前不需要做任何保存操 作。子系统作为模型的一局部,当模型被保存时,子系统会自动保存。例模拟如下图的弹簧一质量系统的运动状态。单个小车系统的运动方程如下:/(7.5.1)图弹簧一质量系统先建立如图所示的单个小车系统的子系统。

5、图单个小车系使用子系统模块创立如图所示的子系统,此子系统用来模拟一个 小车的运动。子系统的输入为小车的左距x(n-1)和右距x(n+1),输出为小车的当 前位置x(n).子系统完成之后,关闭 子系统窗口。复制两次此子系统模块,并如图 7.5.10 所示链接起来。Lt riUHRriglil毎櫛伯卩呼3图使用子系统的三型小车模型 为了可以对每个小车的参数进行赋值,要做以下设置:对小车1,将标签为LeftSpring的增益模块的增益系数设置为 k1,标签为 RightSpring 的增益模块的增益系数设置为 k2,标签为1/mass的增益模块的增 益系数设置为1/m10设置速度积分模块的初始值为

6、0,位置积分模块的初始值为1。对小车2,将标签为LeftSpring 的增益模块的增益系数设置为 k2,标签为 RightSpring 的增益模块的增益系数设置为 k3,标签为1/mass的增益模块的增 益系数设置为1/m2o设置速度积分模块的初始值为 0,位置积分模块的初始值为1o对小车3,将标签为LeftSpring的增益模块的增益系数设置为 k3,标签为 RightSpring 的增益模块的增益系数设置为 k4,标签为1/mass的增益模块的增 益系数设置为1/m3o设置速度积分模块的初始值为 0,位置积分模块的初始值为 1o 此时就可以很方便地使用 Matlab 变量对弹簧常数 k1,

7、k2,k3 和小车质量m1,m2,m3进行赋值。这里使用了一个名为 set_k_m的M文件对它进行赋值,如 下所示:&set the spring constants and block mass valuesk1=1;k2=2;k3=4;m1=1;m2=3;m3=2;仿真开始之前在Matlab命令窗口中运行此M文件。 然后,指定示波器模块把显示数据保存到工作间中,并设置仿真的起始时间(StartTime )为 0,终止时间(StopTime)为 100。仿真结束后,在 Matlab 窗口中把所得到的小车 3 的显示数据绘制成图。7.5.2 子系统的封装封装技术是将 Simulink 子系统“

8、包装成一个模块,并可以如同使用 Simulink 内部模块一样使用的技术。每个封装模块都可以有一个自定义的图标 用来设定参数的对话框,参数设定方法也与 Simulink 模块库中的内部模块完全 相同。为了更好的理解封装的含义, 见图 7.5.10 所示的模型。 此模型与例中的 模型完全等价,但它要更容易使用。双击 Spring-mass1 模块可以翻开该模块属 性的对话框。 与例中翻开每个模块去修改参数不同, 这里可以直接在此对话框中 输入参数。对话框的结构与形式都和“原装的模型毫无两样。本节将主要以此弹簧质量系统为例来详细介绍创立一个封装模块的步 骤。创立一个封装模块的主要步骤分为三步:创立

9、一个子系统; 选中子系统,选择模型窗口菜单中的【EditMask subsystem】选项生成圭寸装 模块;使用封装编辑器设置封装文本、对话框和图标。一、子系统到封装模块的转换当按照上节中介绍的方法创立以弹簧一质量子系统模块之后(如图所示),将其复制到一个新的窗口中,如下图。选中此模块,在窗口的 菜单中执行【EditMask subsystem】指令,弹出如下图的一个圭寸装编辑对话 框。该对话框有三个选项卡。下面分别讨论这三个选项卡的功能和使用。图将子系统复制到新窗口图封装编辑对话框(1) 文本页 Documentation图是编辑器的文本页。它也包括三个区域,每个区域都为一个自由区, 既可填

10、写也可以不填写。 Mask type :该区内容将作为模块的类型显示在圭寸装模块的对话框中 Block descriptio n :此区中的内容将显示在圭寸装模块对话框的上部,它的位 置在后面的图中可能看得更清楚。 其内容脑壳描述模块的功用的简短语句或其它 关于使用此模块的考前须知等。 Block help :当对话框中的【help】按钮按下时,MATLAB勺帮助系统将显示 此区中的内容,其内容应当包括使用此模块的详细说明。(2) 初始化页 Initialization初始化页是用来设置圭装模块参数项的,如图 7.5.14 所示。此页也包括三个区 域。上区为 Masktype 区。此圭装类型区

11、与文本页中的圭装类型区是等同的,可以 在任意一页中定义或改变圭装类型。中区是用来设置圭装模块对话框中的输入变量工程, 如输入变量或操作选择等 等。此区包括一个滚动工程列表、一套“参加、“删除和“移动按钮,以 及 5 个设置工程属性的编辑区。 底区为In itializatio ncomma nds在此区中可以输入 MATLA语句,如定义变量、初始变量值等等。圭装子系统与非圭装子系统的一个重要的区别在于模块对话框中变量的作用范围。非封装子系统模块中的变量可以直接在MATLA工作间中赋值。而封装子系统的模块那么不能。封装子系统有一个独立于MATLA工作间及其它子系统的内部存储空间、这个特点可以防止

12、模块变量与其它工作间中无关变量的冲突。 因此,在封装模块中用到的变量要在封装编辑器对话区或初始命令区中设置。寸許IV* Eflror: nXikukj nwr1I.KIcsm | InAdiralioni |IiBkxk dBSOIpbaivlw*. Nip;OK 1 Swiaitk 峠pg图封装编辑器的文本图封装编辑器的初始化页页(3) 图标页 Ico n编辑器的图标页如图所示,它是用来给封装模块设计自定义图标的。此页分6个区。顶区的【Masktype】同其它两页中的【Masktype】是等同 的。【Deawing commandS区是以MATLA语句来绘制图标的编辑区。其余的 4 个区是用

13、来指定图标的属性,理解了图标的这些属性再来分析图标的绘制命令是 很容易的。 lcon fram:第一个属性为图标框选项,他由一个下拉菜单组成,分别有可见、 不可见选项。所谓的图标框即图标的边界线。 Icon transparency :第二个属性为图标的透明度选项,也是由一个下拉菜单 组成,有两个选项,透明和不透明。 Icon rotation :第三个选项为图标旋转选项,其下拉菜单项选择项为固定和旋转。这个选项决定了当执行【FormatFlip block】或【FormalRotate Block】指令 时的图标形状。 Drawing cooedenates :最后一个区是图形坐标区,用来设置绘图的比例。它 有三个选项:-Pixed :用来设置绘图系为绝对坐标系,其效果为当模块图调整大小时,图标 不随其大小的改变而改变。 此参数下的坐标系应为象素点坐标, 图标的左下角为 坐标系的原点。- Autoscale :该选项使得图标图形恰好充满整个模块。- Normalized :该选项是设置绘图比例在 0河1 之间的选项。图标的左下角的 坐标定义为 (

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论