文档

在模型中使用s函数

概观

合并一个C MEX s函数或遗留的1级MATLAB®将s函数转换为Simulink万博1manbetx®模型,拖一个功能块从用户定义的函数块库中导入模型。方法中指定s -函数的名称功能名称在S-功能块的块参数对话框的领域,如下面的图所示。

在本例中,模型包含一个S-Function块,该块为S-Function引用C MEX文件的一个实例timestwo.c

请注意

如果MATLAB路径包括一个C MEX文件和一个S-Function块引用的同名的MATLAB文件,则S-Function块使用C MEX文件。

要将2级MATLAB S-function合并到模型中,可以将用户定义函数库中的2级MATLAB S-function块拖放到模型中。方法中指定s -函数的名称功能名称字段。

将参数传递给s函数

功能块功能参数和MATLAB二级s函数块参数字段允许您指定要传递给相应s函数的参数值。要使用这些字段,您必须知道s函数需要的参数以及函数需要这些参数的顺序。(如果您不知道,请咨询S-function的作者、文档或源代码。)按s函数要求的顺序输入参数,中间用逗号分隔。参数值可以是常量、在MATLAB或模型工作空间中定义的变量名或MATLAB表达式。

的用法参数字段中输入用户定义的参数为一个2级MATLAB S-功能。

该模型msfcndemo_limintm在这个例子中包含了样本s函数msfcn_limintm.m

msfcn_limintm.mS-函数接受三个参数:下限,上约束,和一个初始条件。在S-函数输出的输入信号的时间积分,如果时间积分是下限和上限之间,下界如果时间积分小于下界和上界,如果时间积分比大于上界。该示例中的对话框指定了上限和下限和的初始状态50,5.0,0,分别。当输入为振幅为1的正弦波时,示波器显示输出结果。

看到处理函数的参数错误处理有关如何在s函数中访问用户指定的参数的信息。

您可以使用屏蔽功能为您的S-Function块创建自定义对话框和图标。掩码对话框可以更容易地为s函数指定附加参数。有关屏蔽的讨论,请参见块面具

何时使用s函数

您可以在各种应用程序中使用s -function,包括:

  • 创建新的通用块

  • 添加表示硬件设备驱动程序的块

  • 将现有的C代码合并到模拟中(参见使用集成遗留代码工具C函数)

  • 用一组数学方程来描述一个系统

  • 使用图形动画(参见倒立摆的例子,penddemo)

函数最常见的用途是创建自定义的Simulink块(请参阅万博1manbetx块创建基础知识)。当您使用S-函数来创建一个通用的模块,你可以用它多次在模型中,与块的每个实例变化的参数。

这个话题有用吗?