Simulink Function
用 Simulink 模块以图形方式定义函数
库:
Simulink /
User-Defined Functions
描述
Simulink Function 模块是一个预先配置的子系统模块,可以用它作为一个起点来使用 Simulink® 模块以图形方式定义函数。该模块为函数调用方提供了文本接口。您可以从 Function Caller 模块、MATLAB Function 模块或 Stateflow® 图调用 Simulink Function 模块。请参阅Call a Simulink Function from a Model。
有关模块参数的描述,请参阅 Subsystem。
您可以在序列查看器中可视化 Simulink Function 调用。该查看器可显示使用参量进行调用的时间和返回的值。
您可以选择 Simulink Function 或 Function Caller 模块来突出显示相关模块。如果一个或多个相关模块位于子系统或引用模型中,则相关模块和包含相关模块的 Subsystem 模块或 Model 模块也会突出显示。
要在打开的图或新选项卡中显示相关模块,请在选择 Simulink Function 或 Function Caller 模块后出现的省略号上暂停。然后,从操作栏中选择相关模块 。当多个模块对应于所选模块时,将打开一个相关模块列表。您可以通过在文本框中输入搜索词来过滤列表。从列表中选择相关模块后,窗口焦点转至显示该相关模块的打开的图或新选项卡。
函数接口
函数接口出现在 Simulink Function 模块表面上。编辑模块文本会从函数定义中添加和删除 Argument Inport 模块和 Argument Outport 模块。编辑操作还会设置 Simulink Function 模块内的 Trigger 模块中的函数名称参数。
例如,在 Simulink Function 模块表面输入 y = myfunction(u)
将在子系统内添加一个 Argument Inport 模块 (u
) 和一个 Argument Outport 模块 (y
)。
当使用 Function Caller 模块调用函数时,Function Caller 模块中的函数原型参数必须与您在 Simulink Function 模块上指定的函数接口完全匹配。此匹配包括函数的名称以及输入和输出参量的名称。例如,此 Simulink Function 模块和 Function Caller 模块均使用参量名称 u
和 y
。
当从 Stateflow 转移标签或状态标签上调用函数时,您可以使用不同的参量名称。例如,此 Simulink Function 模块使用 x
和 y
参量,而 Stateflow 转移则使用 x2
和 y2
参量调用函数。
Function-Call Subsystem 与 Simulink Function 模块的比较
一般来说,与 Simulink Function 模块相比,Function-Call Subsystem 模块可通过直接的信号连接提供更好的信号可追溯性,而 Simulink Function 模块则无需在模型层次结构中布设输入和输出信号线。
属性 | Function-Call Subsystem 模块 | Simulink Function 模块 |
---|---|---|
执行/调用函数的方法 | 使用一条信号线来触发 | 使用函数名称按引用来调用 |
正式的输入参量(Argument Inport 模块)和输出参量(Argument Outport 模块) | 否 | 是 |
本地输入(Inport 模块)和输出(Outport 模块) | 是 | 是 |