主要内容

实现S-Functions

MATLAB S-Functions

2级MATLAB®S-functions允许您创建具有许多Simulink特性和功能的块金宝app®内置模块,包括:

  • 多个输入输出端口

  • 接受向量或矩阵信号的能力

  • 金宝app支持各种信号属性,包括数据类型、复杂性和信号帧

  • 能够在多个采样率下操作

一个二级MATLAB s函数由一个设置例程来配置s函数的基本属性,以及Simulink引擎在模拟过程中的适当时间调用的许多回调方法。金宝app

模板的基本注释版本位于msfuntmpl_basic.m

模板由一个顶级元素组成设置函数和一组骨架局部函数,其中每个函数对应一个特定的回调方法。每一个方法在模拟中的特定点执行特定的s -函数任务。函数中定义的函数句柄调用本地函数设置例行公事。看到二级MATLAB S-Function回调方法为表中所支持的二级MATLAB s -金宝app函数回调方法。

更详细的二级MATLAB s -函数模板位于msfuntmpl.m

我们建议您在创建二级MATLAB s -函数时遵循模板的结构和命名约定。这使得其他人更容易理解和维护您创建的MATLAB s函数。看到编写二级MATLAB S-Functions获取有关创建二级MATLAB s -函数的信息。

墨西哥人S-Functions

与2级MATLAB s -函数一样,MEX s -函数由一组回调方法组成,Simulink引擎在模拟过程中调用这些方法来执行各种与块相关的任务。金宝appMEX s -函数可以用C、c++或Fortran来实现。引擎直接调用MEX s -函数例程,而不是像MATLAB s -函数那样使用函数句柄。因为引擎直接调用函数,所以MEX s -函数必须遵循s -函数API指定的标准命名约定。

一个带注释的C MEX s -函数模板位于sfuntmpl_doc.c

该模板包含C MEX s -函数可以实现的所有必需和可选回调方法的骨架实现。

有关模板的更基本版本,请参阅sfuntmpl_basic.c

MEX与MATLAB s -函数的比较

二级MATLAB和MEX s函数各有优势。2级MATLAB s -函数的优点是开发速度快。开发二级MATLAB s -函数可以避免使用编译语言进行开发时所需要的编译-链接-执行周期。2级MATLAB s -函数也更容易访问MATLAB工具箱函数,并可以利用MATLAB编辑器/调试器。

MEX s -函数更适合于将遗留代码集成到Simulink模型中。金宝app对于更复杂的系统,MEX s -函数的模拟速度可能比MATLAB s -函数快,因为2级MATLAB s -函数为每个回调方法调用MATLAB执行引擎。

看到可用的功能实现以获取关于选择最适合您的应用程序的s函数类型的信息。

另请参阅

||||

相关的话题