Двойной прыгающий мяч: использование адаптивного положения пересечения нулем

В этом примере показано, как выбрать правильный алгоритм местоположения пересечения нулем, основанный на динамике системы. Для динамических систем Zeno или систем с сильной болтовней можно выбрать адаптивный алгоритм обнаружения пересечения нулем через панель Configure:

   --> Solver
       --> Zero-crossing options
           --> Algorithm: [Non-adaptive, Adaptive]

Можно запустить эту модель, набрав 'sldemo _ doublebounce' в командной строке MATLAB ®

Система двойного прыгающего мяча

Модель Simulink ® в этом примере используется для симуляции двух прыгающих мячей. Они начинаются с земли с разных начальных скоростей, и их уровни земли изменятся в разное время.

Откройте модель

Фигура 1: Модель прыгающего мяча и анимация

Двойной прыгающие мячи с неадаптивным алгоритмом пересечения пересечения нулем

Если используется неадаптивный алгоритм местоположения пересечения нулем, последовательная ошибка пересечения нулем заставляет симуляцию остановиться. Эта система на самом деле является так называемой «динамической системой Зенона». Когда любой мяч находится очень близко к земле, Simulink будет висеть, потому что слишком много пересечений нуля обнаруживаются в очень короткий период.

Фигура 2: Вертикальное перемещение обоих мячей с неадаптивным алгоритмом определения местоположения пересечения нуля.

Симуляция не завершается, и отображается сообщение об ошибке. События изменения уровня земли не могут быть наблюдены.

Двойной прыгающие мячи с адаптивным алгоритмом определения местоположения пересечения нулем

Если выбран адаптивный алгоритм, Simulink адаптивно включит/отключает процесс, чтобы точно определить местоположение времени пересечения нулем. Условия включения/выключения местоположения:

1) Пересечение нулем значения сигналов ниже порога значения. Вы можете управлять пороговым значением через панель Configure:

   --> Solver
       --> Zero-crossing options
           --> Algorithm: [Adaptive]
           --> Signal threshold

2) Поражается последовательная диагностика пересечения нулем. Можно задать последовательное пересечение нуля через панель Configure:

   --> Solver
       --> Solver diagnostic controls
           --> Time tolerance and
           --> Number of consecutive zero crossings.

Фигура 3: Вертикальное перемещение обоих мячей с адаптивным алгоритмом пересечения нуля.

Симуляция завершена. Могут наблюдаться события изменения уровня земли. Отображается предупреждение об отключении поиска событий.