计算C MEX s函数的导数
没有
C, c++
#定义MDL_DERIVATIVES空白mdlDerivatives (SimStruct *年代)
年代
表示s -功能块的SimStruct。
的仿真软金宝app件®引擎在每个时间步骤调用这个可选方法来计算s函数连续状态的导数。这种方法需要将导数存储在s函数的状态导数向量中。在C MEX s函数中,使用ssGetdX
得到一个指向导数向量的指针。
每一次mdlDerivatives
例程调用时,它必须显式地设置所有导数的值。导数向量不维护对这个例程的最后一次调用的值。分配给微分向量的内存在执行过程中会发生变化。
请注意
如果你有金宝app仿真软件编码器™,当为包含此方法的非线性C MEX s -函数生成代码时,请确保该方法没有封装在#如果定义(MATLAB_MEX_FILE)
声明。例如:
#define MDL_DERIVATIVES #if define (MDL_DERIVATIVES) && define (MATLAB_MEX_FILE) static void mdlDerivatives(SimStruct *S) {/* Add mdlDerivatives code here *} #endif . define (MDL_DERIVATIVES)
定义
声明中使mdlDerivatives
方法仅对MATLAB可用®墨西哥人文件。如果s函数没有内联,则金宝app仿真软件编码器产品无法使用此方法,导致链接或运行时错误。
有关C MEX s函数的示例,请参见csfunc.c
.