mdlZeroCrossings

Обновите вектор пересечения нулем

Необходимый

Нет

Языки

C, C++

Синтаксис

#define MDL_ZERO_CROSSINGS
void mdlZeroCrossings(SimStruct *S)

Аргументы

S

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

Описание

S-функция должна предоставить этот дополнительный метод, только если это делает обнаружение пересечения нулем. Реализация обнаружения пересечения нулем обычно требует, чтобы использование пересечения нулем и режима работало векторы, чтобы определить, когда нулевое пересечение происходит и как выходные параметры S-функции должны ответить на это событие. mdlZeroCrossings метод должен обновить вектор пересечения нулем S-функции, с помощью ssGetNonsampledZCs.

Можно использовать дополнительный mdlZeroCrossings стандартная программа, когда ваша S-функция указала CONTINUOUS_SAMPLE_TIME и не произвел нулевые пересечения (ssGetNumNonsampledZCs(S) > 0). mdlZeroCrossings стандартная программа используется, чтобы обеспечить Simulink® механизм с сигналами, которые должны быть прослежены для нулевых пересечений. Это обычно

  • Непрерывные сигналы, вводящие S-функцию

  • Внутренне сгенерированные сигналы, что крест обнуляет, когда разрыв обычно происходил бы в mdlOutputs

Таким образом сигналы пересечения нулем используются, чтобы определить местоположение разрывов и закончить шаг текущего времени при нулевом пересечении. Предоставлять механизму сигналы пересечения нулем, mdlZeroCrossings обновляет ssGetNonsampleZCs(S) вектор.

Пример

Для примера смотрите sfun_zc_sat.c. Подробное описание этого примера может быть найдено в Нулевых Пересечениях.

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

mdlInitializeSizes, ssGetNonsampledZCs

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