本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

什么是 MATLAB Function 模块?

使用 MATLAB Function 模块,您可将 MATLAB® 函数添加到 Simulink® 模型以部署到桌面和嵌入式处理器中。此功能对于算法编码非常有用,因为这些算法在 MATLAB 中的文本语言表述要优于其在 Simulink 中的图形语言表述。从 MATLAB Function 模块中,您可以生成可读、高效且紧凑的 C/C++ 代码,以部署到桌面和嵌入式应用程序中。

在 MATLAB Function 模块中调用函数

MATLAB Function 模块可以调用以下任何类型的函数:

  • 局部函数

    局部函数在 MATLAB Function 模块的主体中定义。

  • 支持代码生成的 MATLAB 工具箱函数

    MATLAB Function 模块中,您可以调用支持代码生成的工具箱函数。当您使用 Simulink Coder™ 编译模型时,这些函数会生成经过优化的 C 代码,以满足桌面和嵌入式环境的内存和性能要求。要查看支持的函数列表,请参阅 C/C++ 代码生成支持的函数和对象 - 按字母顺序排列

  • 不支持代码生成的 MATLAB 函数

    MATLAB Function 模块中,还可以调用外部函数。这些函数位于 MATLAB 路径中,由编译器分发给 MATLAB 软件进行执行,因为目标语言不支持它们。这些函数不生成代码,只在模型仿真期间在 MATLAB 工作区中执行。Simulink Coder 软件会尝试编译所有 MATLAB 函数,除非您使用 coder.extrinsic 明确声明它们是外部函数。请参阅将 MATLAB 函数声明为外部函数

    代码生成软件可以检测对许多常见的可视化函数(如 plotdispfigure)的调用。对于 MEX 代码生成,它会自动请求 MATLAB 来执行这些函数。对于独立代码生成,不会为这些可视化功能生成代码。此功能使得不再需要使用 coder.extrinsic 函数将这些函数声明为外部函数。

    请参阅 Resolution of Function Calls for Code Generation

  • Simulink Function 模块和 Stateflow® 模块中的函数

    MATLAB Function 模块中,还可以调用在 Simulink Function 模块中定义的函数。如果在图表的“Properties”对话框中选中 Export Chart Level Functions (Make Global)Allow exported functions to be called by Simulink,则可以调用 Stateflow 函数。

相关示例

详细信息