Чтобы смоделировать динамическую систему, вычисляйте ее состояния на последовательных шагах времени в течение указанного интервала времени. В этом вычислении используется информация, предоставляемая моделью системы. Временные шаги - это временные интервалы при выполнении вычислений. Размер этого временного интервала называется размером шага. Процесс вычисления состояний модели таким образом известен как решение модели. Ни один метод решения модели не применяется ко всем системам. Simulink ® предоставляет набор программ, называемых решателями. Каждый решатель воплощает определенный подход к решению модели.
Решатель применяет численный метод для решения набора обыкновенных дифференциальных уравнений, которые представляют модель. С помощью этого вычисления определяется время следующего этапа моделирования. В процессе решения этой задачи начального значения решатель также удовлетворяет указанным требованиям к точности.
Математики разработали большое разнообразие методов численного интегрирования для решения обыкновенных дифференциальных уравнений (ОДУ), которые представляют непрерывные состояния динамических систем. Предоставляется обширный набор решателей непрерывного действия с фиксированной и переменной ступенями, каждый из которых реализует конкретный метод решения ОДУ (см. Сравнение решателей). Выберите решатели на панели Решатель (Solver) параметров конфигурации модели.
Все решатели, поставляемые MATLAB ® и Simulink, соответствуют аналогичному соглашению об именовании :ode, за которыми следуют две или три цифры, обозначающие порядки решателя. Некоторые решатели могут решать жесткие дифференциальные уравнения, и методы, используемые ими, выражаются s, t, или tb суффиксы.
Подходящий решатель для моделирования модели зависит от следующих характеристик:
Динамика системы
Стабильность решения
Скорость вычислений
Надежность решателя
Как таковые числовые решатели, предоставляемые Simulink, могут быть широко классифицированы по двум свойствам.
Тип размера шага вычисления
Решатели с фиксированным шагом, как предлагается в названии, решают модель с использованием того же размера шага от начала до конца моделирования. Можно указать размер шага или разрешить решателю выбрать его. Как правило, уменьшение размера шага повышает точность результатов и время, необходимое для моделирования системы.
Решатели с переменным шагом изменяют размер шага во время моделирования. Эти решатели уменьшают размер шага для повышения точности при определенных событиях во время моделирования модели, таких как быстрые изменения состояния, события пересечения нуля и т.д. Кроме того, они увеличивают размер шага, чтобы избежать ненужных шагов, когда состояния модели меняются медленно. Вычисление размера шага увеличивает вычислительные издержки на каждом шаге. Однако это может уменьшить общее количество шагов и, следовательно, время моделирования, необходимое для поддержания заданного уровня точности для моделей с пересечениями нуля, быстро меняющимися состояниями и другими событиями, требующими дополнительных вычислений.
Состояния модели
Непрерывные решатели используют численное интегрирование для вычисления непрерывных состояний модели на текущем временном шаге на основе состояний на предыдущих временных шагах и производных состояний. Непрерывные решатели используют отдельные блоки для вычисления значений дискретных состояний модели на каждом временном шаге.
Дискретные решатели в первую очередь используются для решения чисто дискретных моделей. Они вычисляют только следующий шаг времени моделирования для модели. При выполнении этого вычисления они полагаются на каждый блок модели для обновления его отдельного дискретного состояния. Они не вычисляют непрерывные состояния.
Используйте итеративный подход, чтобы выбрать решатель для своих требований. Сравните результаты моделирования из нескольких решателей и выберите решатель, который предлагает наилучшую производительность с минимальными компромиссами.
Выберите решатель для модели следующими способами.
Используйте автоматический решатель. По умолчанию для новых моделей для выбора решателя задано значение auto solver. Автоматический решатель рекомендует решатель с фиксированным или переменным шагом для модели, а также максимальный размер шага. Дополнительные сведения см. в разделе Выбор решателя с помощью автоматического решателя.
Если результаты моделирования с помощью автоматического решателя неудовлетворительны, выберите решатель на панели Решатель (Solver) в параметрах конфигурации модели.
При построении и моделировании модели можно выбрать решатель на основе динамики модели. Решатель с переменным шагом лучше подходит для чисто непрерывных моделей, как динамика системы демпфера весов массы. Решатель с фиксированным шагом рекомендуется для модели, содержащей несколько переключателей, таких как инверторная система питания, из-за количества сбросов решателя, которые могут привести к поведению решателя с переменным шагом подобно решателю с фиксированным шагом.
Примечание
При развертывании модели в виде сгенерированного кода можно использовать только решатель с фиксированным шагом. При выборе решателя с переменным шагом во время моделирования используйте его для вычисления размера шага, необходимого для решателя с фиксированным шагом, который требуется при развертывании.
Эта диаграмма обеспечивает широкую классификацию решателей в библиотеке Simulink.

Чтобы адаптировать выбранный решатель к модели, см. раздел Проверка и повышение точности моделирования.
В идеале выбранный решатель должен:
Успешно решите модель.
Для решателей с переменным шагом укажите решение в заданных пределах допуска.
Решите модель в разумные сроки.
Один решатель может не соответствовать всем этим целям. Попробуйте смоделировать с помощью различных решателей, прежде чем делать выбор.
Библиотека Simulink предоставляет несколько решателей, все из которых могут работать с алгебраическим решателем циклов. Дополнительные сведения см. в разделе Как работает алгебраический решатель петель.
| Тип решателя | Явное/неявное | Дискретный | Непрерывный | Переменный порядок |
|---|---|---|---|---|
| Фиксированный шаг | Явный | Неприменимо | Неразрывные решатели с фиксированным шагом | Неприменимо |
| Неявный | Неприменимо | Непрерывные неявные решатели с фиксированным шагом | Неприменимо | |
| Шаг переменной | Явный | Решатели переменных шагов в Simulink | Решатели непрерывного действия с переменным шагом | Решатели непрерывного действия одного порядка и переменного порядка |
| Неявный | Непрерывные неявные решатели с переменным шагом | Решатели непрерывного действия одного порядка и переменного порядка |
На панели Решатель (Solver) параметров конфигурации модели библиотека решателей Simulink разделена на два основных типа. См. раздел Решатели с фиксированным шагом и переменным шагом.
Другие способы сравнения решателей см. в разделе: