Динамическая система моделируется путем вычисления ее состояний на последовательных временных шагах по промежутку требуемого времени, использования информации, предоставленной моделью. Процесс вычисления последовательных состояний системы из ее модели известен как решение модели. Никакой отдельный метод решения модели не достаточен для всех систем. Соответственно, набор программ, известных как решатели, то, при условии, что каждый воплощает конкретный подход к решению модели. Диалоговое окно Configuration Parameters позволяет вам выбирать решатель, наиболее подходящий для вашей модели (см., Сравнивают Решатели).
Решатели, обеспеченные в программном обеспечении Simulink®, попадают в две основных категории: фиксированный шаг и переменный шаг.
Решатели фиксированного шага решают модель в интервалах постоянного времени с начала в конец симуляции. Размер интервала известен как размер шага. Можно задать размер шага или позволить решателю выбрать размер шага. Обычно уменьшение размера шага увеличивает точность результатов при увеличении времени, требуемого моделировать систему.
Решатели переменного шага отличаются размер шага во время симуляции, уменьшая размер шага, чтобы увеличить точность, когда состояния модели изменяются быстро и увеличивают размер шага, чтобы не делать ненужные шаги, когда состояния модели изменяются медленно. Вычисление размера шага добавляет к вычислительным издержкам на каждом шаге, но может сократить общее количество шагов, и следовательно время симуляции, требуемое поддержать заданный уровень точности для моделей с быстрым изменением или кусочно-непрерывными состояниями.
Продукт Simulink обеспечивает и непрерывные и дискретные решатели.
Непрерывные решатели используют численное интегрирование, чтобы вычислить непрерывные состояния модели на шаге текущего времени на основе состояний на предыдущих временных шагах и производных состояния. Непрерывные решатели полагаются на отдельные блоки, чтобы вычислить значения дискретных состояний модели на каждом временном шаге.
Математики разработали большое разнообразие методов численного интегрирования для решения обыкновенных дифференциальных уравнений (ОДУ), которые представляют непрерывные состояния динамических систем. Обширный набор фиксированного шага и непрерывных решателей с переменным шагом обеспечивается, каждый из которых реализует определенный метод решения для ОДУ (см., Сравнивают Решатели).
Дискретные решатели существуют, в основном, чтобы решить чисто дискретные модели. Они вычисляют следующий шаг времени симуляции для модели и ничего иного. В выполнении этих вычислений они полагаются на каждый блок в модели, чтобы обновить ее отдельные дискретные состояния. Они не вычисляют непрерывные состояния.
Необходимо использовать непрерывный решатель, чтобы решить модель, которая содержит и непрерывные и дискретные состояния. Вы не можете использовать дискретный решатель, потому что дискретные решатели не могут обработать непрерывные состояния. Если с другой стороны, вы выбираете непрерывный решатель для модели без состояний или дискретных состояний только, программное обеспечение Simulink использует дискретный решатель.
Два дискретных решателя обеспечиваются: фиксированный шаг дискретный решатель и переменный шаг дискретный решатель. Решатель фиксированного шага по умолчанию выбирает размер шага и следовательно уровень симуляции достаточно быстро, чтобы отследить изменения состояния в самом быстром блоке в вашей модели. Решатель переменного шага настраивает размер шага симуляции, чтобы идти в ногу с фактическим уровнем изменений дискретного состояния в вашей модели. Это может избежать ненужных шагов и следовательно сократить время симуляции для многоскоростных моделей (см. Шаги расчета в Системах для получения дополнительной информации).
Некоторые непрерывные решатели подразделяют промежуток времени симуляции на главные и незначительные временные шаги, где незначительный временной шаг представляет подразделение главного временного шага. Решатель приводит к результату на каждом главном временном шаге. Это использует результаты на незначительных временных шагах, чтобы улучшить точность результата на главном временном шаге.
Обычно размер этапа интеграции только связан с текущим размером шага и текущей ошибкой интегрирования. Однако для сигналов, производная которых изменяется быстро, можно получить более точные результаты интегрирования включением производной информации о входе на каждом временном шаге. Для этого включите Model Configuration Parameters> Solver> опция Shape Preservation.
Моделирование динамических систем | Фазы симуляции в динамических системах | Обнаружение пересечения нулем