Получите вектор режима
int_T *ssGetModeVector(SimStruct *S)
S
SimStruct, представляющий Блок s-function.
Указатель (int_T *
) к вектору режима.
Используйте, чтобы получить указатель на вектор режима. Этот вектор имеет длину ssGetNumModes(S)
. Как правило, этот вектор инициализируется в mdlInitializeConditions
если значение по умолчанию 0 не приемлемо. Это затем используется в mdlOutputs
, в сочетании с непроизведенными нулевыми пересечениями, чтобы определить, когда выходная функция должна изменить режим. Например, рассмотрите функцию абсолютного значения. Когда вход будет отрицателен, инвертируйте его, чтобы создать положительную стоимость; в противном случае не примите меры. Эта функция имеет два режима. Выходная функция должна быть спроектирована, чтобы не изменить режимы во время незначительных временных шагов. Можно также использовать вектор режима в mdlZeroCrossings
стандартная программа, чтобы определить текущий режим.
C, C++
Смотрите S-функцию sfun_zc.c
используемый в sfcndemo_sfun_zc
.