mdlprocessparameters.
处理C MEX S函数的参数
必需的
不
语言
C,C ++
句法
#define mdl_process_parameters void mdlprocessparameters(Simstruct * s)
争论
-
S.
-
Simstruct代表S函数块。
描述
这是Simulink的可选例程金宝app®发动机呼叫之后mdlcheckparameters.
更改并验证参数。当处理更改的参数时,在仿真环路的顶部完成处理。此功能仅对模拟有效。C MEX S函数必须括起来#if定义(matlab_mex_file)
陈述。
此例程的目的是处理新改变的参数。一个例子是缓存工作向量中的参数更改。当它与之使用时,发动机不会调用此例程金宝appSimulink Coder™产品。因此,如果您在设计用于使用的S函数中使用此例程金宝appSimulink编码器产品,您必须编写S-Function,以便它不依赖此例程。为此,您必须使用目标语言编译器内联输入您的S函数。有关内联函数的信息,请参阅内联的S函数(金宝appSimulink编码器)。
例子
此示例处理字符向量参数mdlcheckparameters.
已验证是表单'+++'
(可能有任何数量的地方'+'
或者' - '
人物)。
#define mdl_process_parameters / *更改为#undef以删除函数* / #f定义(mdl_process_parameters)&&定义(matlab_mex_file)静态void mdlprocessparameters(simstruct * s){int_t i;char_t * plusminusstr;int_t ninputports = ssgetnuminputports;int_t * iwork = ssgetiwork(s);if((plusminusstr =(char_t *)malloc(ninputports + 1))== null){ssseterrorstatus(s,mdlstart中的“内存分配错误”);返回;}如果(mxgetstring(signs_param(s),plusminusstr,ninputports + 1)!= 0){free(plusminusstr);ssseterrorstatus(mdlstart中的“mxgetstring错误”);返回;for(i = 0; i
mdlprocessparameters.
被称为mdlstart.
在仿真循环开始之前加载符号字符向量。
#define mdl_start #f定义(mdl_start)静态void mdlstart(simstruct * s){mdlprocessparameters;#endif / * mdl_start * /