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
Для просмотра документации необходимо авторизоваться на сайте