文档

实现S-Functions

MATLAB S-Functions

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

  • 多个输入输出端口

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

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

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

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

模板的基本注释版本驻留在msfuntmpl_basic.m

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

一个更详细的二级MATLAB s函数模板驻留在msfuntmpl.m

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

墨西哥人S-Functions

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

注释的C MEX s函数模板驻留在sfuntmpl_doc.c

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

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

MEX与MATLAB S-Functions的对比

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

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

看到可用的S-Function实现参阅有关选择最适合您的应用程序的s函数类型的资料。

另请参阅

|||

相关的话题