ssGetContStates
获取块的连续状态
语法
real_T *ssGetContStates(SimStruct *S)
参量
S表示 S-Function 模块的 SimStruct。
返回
指向连续状态向量的指针(real_T *),作为长度为 ssGetNumContStates(S) 的数组。如果 S-Function 没有任何连续状态,则返回 NULL。
描述
在仿真循环中使用 mdlInitializeConditions 或 mdlStart 例程来获取 S-Function 的 real_T 连续状态向量。该向量的长度为 ssGetNumContStates(S)。通常,该向量在 mdlInitializeConditions 中初始化并在 mdlOutputs 中使用。
语言
C、C++
示例
文件 csfunc.c 中的以下几行显示了如何初始化 mdlInitializeConditions 中的连续状态并计算 mdlDerivatives 中的状态导数。此 S-Function 用于模型 sfcndemo_csfunc。
static void mdlInitializeConditions(SimStruct *S)
{
real_T *x0 = ssGetContStates(S);
int_T lp;
for (lp=0;lp<2;lp++) {
*x0++=0.0;
}
}
static void mdlDerivatives(SimStruct *S)
{
real_T *dx = ssGetdX(S);
real_T *x = ssGetContStates(S);
InputRealPtrsType uPtrs = ssGetInputPortRealSignalPtrs(S,0);
/* xdot = Ax + Bu */
dx[0]=A[0][0]*x[0]+A[1][1]*x[1]+B[0][0]*U(0)+B[0][1]*U(1);
dx[1]=A[1][0]*x[0]+A[1][1]*x[1]+B[1][0]*U(0)+B[1][1]*U(1);
}版本历史记录
在 R2006a 之前推出