Этот пример показывает, как использовать два разных подхода к моделированию прыгающего мяча с помощью Simulink®.
Рисунок 1: шар подброшен со скоростью 15 м/с от высоты 10 м.
Модель прыгающего мяча является классическим примером гибридной динамической системы. Гибридная динамическая система является системой, которая включает и непрерывную динамику, а также, дискретные переходы, где системная динамика может измениться и значения состояния, могут перейти. Непрерывной динамикой прыгающего мяча просто дают:
где ускорение происходит из-за силы тяжести, является положением шара и является скоростью. Поэтому система имеет два непрерывных состояния: положение и скорость.
Аспект гибридной системы модели происходит из моделирования столкновения шара с землей. Если вы принимаете частично упругое соударение с землей, то скорость перед столкновением и скоростью после столкновения, может быть связана коэффициентом восстановления шара, можно следующим образом:
Прыгающий мяч поэтому отображает скачок в непрерывном состоянии (скорость) при условии перехода.
Прыгающий мяч является одной из самых простых моделей, которая показывает явление Дзено. Поведение Дзено неофициально характеризуется бесконечным числом событий, происходящих в интервале конечного промежутка времени для определенных гибридных систем. Когда шар теряет энергию в модели прыгающего мяча, большое количество столкновений с землей начинают происходить в последовательно меньшие интервалы времени. Следовательно модель испытывает поведение Дзено. Модели с поведением Дзено по сути трудно моделировать на компьютере, но столкнуты во многих общих и важных инженерных приложениях.
Можно использовать два блока Интегратора, чтобы смоделировать прыгающий мяч. Интегратор слева является скоростным интегратором, моделируя первое уравнение, и Интегратор справа является интегратором положения. Перейдите к интегратору положения, блокируют диалоговое окно и замечают, что это имеет нижний предел нуля. Это условие представляет ограничение, что шар не может понизиться земля.
Порт состояния интегратора положения и соответствующего результата сравнения используется, чтобы обнаружить, когда мяч попадает в землю и сбрасывать оба интегратора. Порт состояния скоростного интегратора используется для вычисления.
Чтобы наблюдать поведение Дзено системы, перейдите к панели Решателя диалогового окна Configuration Parameters. В 'Разделе опций пересечения нулем подтвердите, что 'Алгоритм' установлен в 'Неадаптивный' и что симуляция 'Время остановки' установлена в 25 секунд. Запустите симуляцию.
Заметьте, что ошибки симуляции как шар поражают землю все более часто и теряют энергию. Следовательно, симуляция превышает предел по умолчанию 1 000 для 'Количества последовательных нулевых пересечений', позволенных. Теперь перейдите к диалоговому окну Configuration Parameters. В 'Разделе опций пересечения нулем, набор 'Алгоритм' к 'Адаптивному'. Этот алгоритм вводит сложную обработку такого болтающего поведения. Поэтому можно теперь моделировать систему вне 20 секунд. Отметьте, однако, болтовню состояний между 21 секундой и 25 секундами и предупреждением от Simulink о сильной болтовне в модели приблизительно 20 секунд.
Можно использовать один блок Second-Order Integrator, чтобы смоделировать эту систему. Второе уравнение является внутренним к блоку Second-Order Integrator в этом случае. Перейдите к диалоговому окну блока Second-Order Integrator и заметьте, что, как ранее, имеет нижний предел нуля. Перейдите к вкладке Attributes на диалоговом окне блока и обратите внимание, что опция 'Повторно инициализирует dx/dt, когда x достигает, насыщение' проверяется. Этот параметр позволяет нам повторно инициализировать (в модели прыгающего мяча) к новому значению в момент, достигает его предела насыщения. Для модели прыгающего мяча эта опция поэтому подразумевает, что, когда мяч попадает в землю, ее скорость может быть установлена в различное значение, т.е. в скорость после влияния. Заметьте цикл для вычисления скорости после столкновения с землей. Чтобы получить скорость шара непосредственно перед столкновением, выходной порт блока Second-Order Integrator и Блока памяти используется. затем используется, чтобы вычислить скорость восстановления.
Перейдите к панели Решателя диалогового окна Configuration Parameters. Подтвердите, что 'Алгоритм' установлен в 'Неадаптивный' в 'Разделе опций пересечения нулем, и симуляция 'Время остановки' установлена в 25 секунд. Моделируйте модель. Обратите внимание на то, что симуляция не столкнулась ни с какими проблемами. Вы смогли моделировать модель, не испытывая чрезмерную болтовню после t = 20 секунд и не устанавливая 'Алгоритм' на 'Адаптивный'.
Можно аналитически вычислить точное время, когда шар успокаивается к земле с нулевой скоростью путем подведения итогов времени, требуемого для каждого возврата. Это время является суммой бесконечного геометрического ряда, данного:
Здесь и начальные условия для положения и скорости соответственно. Скорость и положение шара должны быть тождественно нулевыми для. В фигуре ниже, следует из обеих симуляций, построены рядом. Вертикальная красная линия в графике для данных параметров модели. Для и далеко от, обе модели приводят к точным и идентичным результатам. Следовательно, только пурпурная строка из второй модели видима в графике. Однако результаты симуляции из первой модели неточны после; это продолжает отображать чрезмерное болтающее поведение для. Напротив, вторая модель с помощью блока Second-Order Integrator обосновывается, чтобы точно обнулить для.
Рисунок 2: Сравнение результатов симуляции от двух подходов.
Рисунок 2 окончательно показывает, что вторая модель имеет превосходящие числовые характеристики по сравнению с первой моделью. Причина более высокой точности, сопоставленной с моделью Second-Order Integrator, следующие. Второе дифференциальное уравнение является внутренним к блоку Second-Order Integrator. Поэтому алгоритмы блока могут усилить это известное отношение между двумя состояниями и развернуть эвристику, чтобы запретить нежелательного, болтающего поведение для определенных обстоятельств. Эта эвристика становится активной, когда два состояния больше взаимно сопоставимы друг с другом из-за ошибок интегрирования и болтающего поведения. Можно таким образом использовать физическое знание системы, чтобы облегчить проблему симуляции, застревающей в состоянии Дзено для определенных классов моделей Дзено.