文档

实现S-Functions

MATLAB S-Functions

2级MATLAB®S-functions允许您创建具有Simulink许多特性和功能的块万博1manbetx®内置块,包括:

  • 多输入输出接口

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

  • 万博1manbetx支持各种信号属性,包括数据类型、复杂性和信号帧

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

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

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

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

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

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

墨西哥人S-Functions

与二级MATLAB s -函数一样,MEX s -函数由一组回调方法组成,Simulink引擎调用这些方法在模拟过程中执行各种与块相关的任务。万博1manbetxMEX 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函数各有优点。二级MATLAB s函数的优点是开发速度快。开发二级MATLAB s函数避免了用编译语言开发时所需要的耗时的编译-链接-执行周期。二级MATLAB s函数也可以更容易地访问MATLAB工具箱函数,并可以利用MATLAB编辑器/调试器。

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

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

这个话题有用吗?