Simulink Function
使用 Simulink 模块定义函数
库:
Simulink /
User-Defined Functions
描述
Simulink Function 模块是预配置为能够使用 Simulink® 模块实现函数的 Subsystem 模块。要使用 Simulink Function 模块定义和调用函数,请执行以下操作:
指定包含函数名称以及输入和输出参量的函数原型,例如
y = f(u)
。使用 Simulink 库中的模块实现函数行为。
配置您的 Simulink Function 模块,以便在模型层次结构中的任何位置调用和重用。
调用函数时,调用方通过输入参量向函数发送数据,根据实现的行为执行函数,然后通过输出参量从函数接收数据。
有关详细信息,请参阅 Simulink Functions Overview。
指定函数原型
函数原型与函数的实现是分离的。它指定输入和输出参量,以及应该如何从模型层次结构中的其他模块调用该函数。函数原型中指定的每个输入或输出参量分别由 Argument Inport 模块或 Argument Outport 模块表示。您可以通过双击模块上显示的文本来编辑函数原型。
实现函数行为
要实现所需的函数行为,请在子系统中添加任何必需的 Simulink 模块。除了 Argument Inport 和 Argument Outport 模块之外,Simulink Function 模块还可以使用 Inport 和 Outport 模块来输入和输出数据。
有关示例,请参阅Monitor Ink Status on Shared Printer Using Simulink Functions。
调用 Simulink 函数
您可以使用函数调用方和函数原型来调用和执行您的函数。在 Simulink Function 模块中定义的函数可以从 Function Caller 模块、Chart (Stateflow)、MATLAB Function 模块、MATLAB System 模块或 S-Function 模块中调用。
有关详细信息,请参阅Call a Simulink Function from a Model。
模型注意事项
当使用 Simulink Function 模块时,考虑您的模型是否需要在函数调用之间的状态持久性或连续采样时间。
函数调用之间的状态持久性 - 如果 Simulink Function 模块包含任何带状态的模块(例如 Unit Delay 或 Memory 模块),则其状态值在函数调用之间是持久性的。如果存在对该函数的多次调用,状态值在来自不同调用方的调用之间也是持久性的。
无法继承连续采样时间 - Simulink Function 模块无法继承连续采样时间。
使用 Simulink Function 模块的代码生成
如果您有 Simulink Coder™ 或 Embedded Coder®,您可以从包含 Simulink 函数的模型中生成代码。有关详细信息,请参阅 Simulink Function Blocks and Code Generation (Embedded Coder)和Configure Entry-Point Function Interfaces for Simulink Function and Function Caller Blocks (Embedded Coder)。
示例
端口
输入
输出
参数
模块特性
扩展功能
版本历史记录
在 R2014b 中推出另请参阅
模块
- Argument Inport | Argument Outport | Trigger | Function Caller | MATLAB Function | Chart (Stateflow) | Function-Call Subsystem | Inport | Outport