得到过零信号的值
real_T * ssGetNonsampledZCs (SimStruct *年代)
年代
表示s -功能块的SimStruct。
一个指针(real_T *
)为过零信号值。
用于获取指向向量的指针,该向量包含变量步长求解器监视的过零信号的当前值。变量步长求解器跟踪这些信号的符号,直到它们过零的位置。然后,求解器在零交叉点处采取模拟时间步长。这个向量有长度ssGetNumNonsampledZCs (S)
.
C, c++
以下节选自
控件中的过零数组演示如何使用此宏更新matlabroot
/工具/模型/ s金宝appimdemos / simfeatures / src /sfun_zc.cmdlZeroCrossings
回调函数。
static void mdlzerocrosings (SimStruct *S) {int_T i;real_T *zcSignals = ssGetNonsampledZCs(S);InputRealPtrsType uPtrs = ssGetInputPortRealSignalPtrs(S,0);int_T nZCSignals = ssGetNumNonsampledZCs(S);For (i = 0;我< nZCSignals;i++) {zcSignals[i] = *uPtrs[i];}}
看到这个功能sfun_zc_sat.c
中使用的sfcndemo_sfun_zc_sat
下面是使用此函数的完整示例。