不懂,请看在线帮助。若系统不支持中文字符提示,请在命令行中运行下列命令: set_param('circuit4', 'SavedCharacterEncoding', 'windows-1252')
(3)创建封装描述和帮助文本
(4)创建block图标
可使用绘图命令改变子系统上的默认图标。
3.2.3.封装一个模块
(1)关于模块封装
可以利用模型编辑器(model editor)封装子系统,模型,S函数模块,以及利用set_param命令封装内建模块。
2
(2)封装一个子系统
3.2.2节已经做了介绍。此处略。
(3)封装内置模块
通过直接封装内置模块而不是将他们放到一个子系统中,可以减小你的模型的大小。要封装一个内置模块:
?
选择模型中的模块
? 键入下列Matlab命令: set_param(gcb,'Mask','on')
? 在模块的快捷菜单中选择“Edit Mask”命令,就可用它编辑该模块的封装了。
2
simulink不支持封装端口模块(port block),如Inport,Outport,Trigger等 确保封装的参数名称与已知模块参数名称不同。
3.2.4.封装编辑器(mask editor)
(1)创建子模块(略) (2)icon面板(略) (3)参数面板(略)
(4)控件类型(control types)
通过下图所示对话框进行设置:
(5)初始化面板(initialization pane)
初始化面板允许你输入matlab命令初始化封装的子系统。 在下列情况下,simulink将执行初始化命令: ? 装入模型 ? ? ?
封装模块的图形外观发生变化,如旋转。 在同一模型内或不同模型间复制封装模块时 开始仿真或更新模块图时
? 对模块对话框作出任何参数改变时 初始化面板包含下列控件:
? 对话框变量
列出了所有与模块封装参数有关的变量 ? 初始化命令
输入任意合法的Matlab命令。 ? ? ? ?
允许库模块改变其内容
不要在初始化命令中创建动态对话框 避免使用以L_和M_开头的变量名 避免使用set_param命令 初始化命令的局限性:
(6)文档面板(document pane)
在上一节已经做了介绍,现在仅介绍新的内容:也就是,在定义在线帮助内容时,不仅可以直接输入帮助文本内容,也可以使用下列帮助文本:
URL 说明 (以 http:, www, file:, ftp:, or mailto:开始) web 命令(launches a browser)
eval 命令(evaluates a MATLAB string) html文本
举例:
http://www.mathworks.com file:///c:/mydir/helpdoc.html
web([docroot '/My Blockset Doc/' get_param(gcb,'MaskType')... '.html'])
eval('!Word My_Spec.doc')
3.2.5.将封装参数与模块参数链接起来
3.2.6.创建动态封装参数对话框 3.2.7.封装库模块 3.3.仿真动态系统
3.3.1.模型编译(model compilation)
当你选择“开始仿真”命令时,仿真便进入第1阶段,在此阶段,simulink引擎将启动模型编译器,模型编译器将模型转换为可执行的形式,此过程就称为编译。具体地讲,编译
器将完成以下工作:
? ? ? ? ? ? ?
模型参数值的计算
确定那些没有明确指定的信号属性,如名称,数据类型、数值类型、维数等,并检查每个模块是否接受连接到其输入端的信号。
simulink使用所谓的“属性传播”来确定那些未指定的属性。这个过程是将源信号的属性遗传给目标信号的属性的过程。 执行模块优化。
扁平化模型结构,即以子模块实际保护的模块替代子模块; 确定模块的排序
确定那些没有明确指明采样间隔的模块的采样间隔
3.3.2.链接阶段(link phase)
这个阶段,simulink引擎将为模块图的执行分配内存空间(信号、状态和运行时参数),同时也分配运行时为保持每个模块中间信息的内存。对于内置模块,模块的主要数据结构被称为SimBlock,它存储的是模块的输入与输出缓冲区、状态、工作向量的指针。
(1)method excution lists(方法执行列表)
在链接阶段,simulink也负责创建方法执行列表,该表列出效率最高的模块次序,以便按这个次序激活模型的模块方法,计算模块的输出。
(2)模块属性
simulink允许你为模块分配更新属性。simulink按优先级高低来决定执行顺序。
3.3.3.仿真循环阶段(simulation loop phase)
链接阶段结束后,进入仿真循环阶段。simulink引擎从仿真开始到结束时间内,利用模型提供的信息,每隔一个间隔,计算一次系统的状态和输出。那些状态和输出计算的连续时间点,称为时间步(time step)。相邻两个时间步的时间长度称为步长。步长取决于求解器的类型,系统的连续状态、连续系统是否有不连续点。
循环阶段又分为两个子阶段:循环初始化阶段和循环往复阶段。初始化阶段过后,便进入循环往复。每隔一个时间步长循环一次。
在仿真开始后,模型指定初始状态和系统输出。在每一步,simulink计算新的值、新的输出。simulink提供了数据显示和记录模块,可以在仿真过程中显示和记录过程数据。
3.3.4.求解器(solvers)
simulink在仿真过程中要反复计算状态和输出,这就需要用到一序列的算法,simulink已经编制了这些算法的程序,称为求解器。
Configuration Parameters对话框允许你选择合适的求解器。
(1)定步长求解器和变不长求解器 (2)连续与离散求解器
对于连续和离散混合模型,只能使用连续求解器。