ssGetNonsampledZCs

Получите значения сигналов пересечения нулем

Синтаксис

real_T *ssGetNonsampledZCs(SimStruct *S)

Аргументы

S

SimStruct, представляющий Блок s-function.

Возвращается

Указатель (real_T *) к значениям сигналов пересечения нулем.

Описание

Используйте, чтобы получить указатель на вектор, содержащий текущие значения сигналов, что решатель переменного шага контролирует для нулевых пересечений. Решатель переменного шага отслеживает знаки этих сигналов заключить в скобки точки, где они пересекают нуль. Решатель затем делает шаги времени симуляции в точках, где нулевые пересечения происходят. Этот вектор имеет длину ssGetNumNonsampledZCs(S).

Языки

C, C++

Пример

Следующая выборка от matlabroot/toolbox/simulink/simdemos/simfeatures/src/sfun_zc.c иллюстрирует использование этого макроса, чтобы обновить массив пересечения нулем в функции обратного вызова mdlZeroCrossings.

static void mdlZeroCrossings(SimStruct *S)
{
      int_T i;
      real_T *zcSignals = ssGetNonsampledZCs(S);
      InputRealPtrsType uPtrs = ssGetInputPortRealSignalPtrs(S,0);
      int_T nZCSignals = ssGetNumNonsampledZCs(S);

      for (i = 0; i < nZCSignals; i++) {
          zcSignals[i] = *uPtrs[i];
      }
  }

Смотрите S-функцию sfun_zc_sat.c, используемый в sfcndemo_sfun_zc_sat для полного примера, который использует эту функцию.

Смотрите также

ssGetNumNonsampledZCs

Представлено до R2006a