Решатель

Описание

Выберите решатель, который вы хотите использовать, чтобы вычислить состояния модели во время моделирования или генерации кода.

Категория: Решатель

Настройки

Выбор из этих типов:

Настройкой по умолчанию для новых моделей является VariableStepAuto.

Решатели фиксированного шага

Значение по умолчанию: FixedStepAuto

В целом все решатели фиксированного шага за исключением ode 14x вычисляют следующий шаг как:

X (n+1) = X (n) + h дуплекс (n)

где X состояние, h является размером шага, и дуплекс является производной состояния. дуплекс (n) вычисляется конкретным алгоритмом с помощью одной или нескольких производных оценок в зависимости от порядка метода.

'auto'

Вычисляет состояние модели с помощью решателя фиксированного шага, который выбирает автоматический решатель. В то время образцовые компиляции auto изменяется на решатель фиксированного шага, который автоматический решатель выбирает на основе образцовой динамики. Нажмите на гиперссылку решателя в правом нижнем углу модели, чтобы принять или изменить этот выбор.

ode3 (Bogacki-Shampine)

Вычисляет состояние модели на следующем временном шаге как явная функция текущей стоимости состояния и производных состояния, с помощью метода интегрирования Формулы Шемпина Богацков, чтобы вычислить производные состояния.

Discrete (no continuous states)

Вычисляет время следующего временного шага путем добавления фиксированного размера шага к текущему времени.

Используйте этот решатель для моделей без состояний или дискретных состояний только, с помощью фиксированного размера шага. Полагается на блоки модели, чтобы обновить дискретные состояния.

Точность и отрезок времени получившегося моделирования зависит от размера шагов, сделанных моделированием: чем меньший размер шага, тем более точный результаты, но дольше взятия моделирования.

Примечание

Дискретный решатель фиксированного шага не может использоваться, чтобы моделировать модели, которые имеют непрерывные состояния.

ode8 (Dormand-Prince RK8(7))

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

ode5 (Dormand-Prince)

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

ode4 (Runge-Kutta)

Использует четвертый порядок формула (RK4) Рунге-Кутта, чтобы вычислить образцовое состояние на следующем временном шаге как явная функция текущей стоимости состояния и производных состояния.

ode2 (Heun)

Использует метод интегрирования Heun, чтобы вычислить образцовое состояние на следующем временном шаге как явная функция текущей стоимости состояния и производных состояния.

ode1 (Euler)

Использует Эйлеров метод интегрирования, чтобы вычислить образцовое состояние на следующем временном шаге как явная функция текущей стоимости состояния и производных состояния. Этот решатель требует меньшего количества вычислений, чем решатель высшего порядка. Однако это обеспечивает сравнительно меньше точности.

ode14x (extrapolation)

Использует комбинацию метода Ньютона и экстраполяции от текущей стоимости, чтобы вычислить состояние модели на следующем временном шаге, как неявная функция состояния и производной состояния на следующем временном шаге. В следующем примере, X состояние, дуплекс является производной состояния, и h является размером шага:

X (n+1) - X (n) - h дуплекс (n+1) = 0

Этот решатель требует большего количества вычисления на шаг, чем явный решатель, но более точен для данного размера шага.

Решатели переменного шага

Значение по умолчанию: VariableStepAuto

'auto'

Вычисляет состояние модели с помощью решателя переменного шага, который выбирает автоматический решатель. В то время образцовые компиляции auto изменяется на решатель переменного шага, который автоматический решатель выбирает на основе образцовой динамики. Нажмите на гиперссылку решателя в правом нижнем углу модели, чтобы принять или изменить этот выбор.

ode45 (Dormand-Prince)

Вычисляет состояние модели на следующем временном шаге с помощью явной формулы Рунге-Кутта (4,5) (модификация Дорманда-Принца) для численного интегрирования.

ode45 является решателем с одним шагом, и поэтому только нуждается в решении в предыдущем моменте времени.

Используйте ode45 в качестве первой попытки большинства проблем.

Discrete (no continuous states)

Вычисляет время следующего шага путем добавления размера шага, который отличается в зависимости от уровня изменения состояний модели.

Используйте этот решатель для моделей без состояний или дискретных состояний только, с помощью переменного размера шага.

ode23 (Bogacki-Shampine)

Вычисляет состояние модели на следующем временном шаге с помощью явного Рунге-Кутта (2,3) формула (пара Шемпина Богацков) для численного интегрирования.

ode23 является решателем с одним шагом, и поэтому только нуждается в решении в предыдущем моменте времени.

ode23 более эффективен, чем ode45 в грубых допусках и в присутствии умеренной жесткости.

ode113 (Adams)

Вычисляет состояние модели на следующем временном шаге с помощью переменного порядка метод численного интегрирования Адамса-Бэшфорта-Маултона PECE.

ode113 является многоступенчатым решателем, и таким образом обычно нуждается в решениях в нескольких предыдущих моментах времени, чтобы вычислить текущее решение.

ode113 может быть более эффективным, чем ode45 в строгих допусках.

ode15s (stiff/NDF)

Вычисляет состояние модели на следующем временном шаге с помощью переменного порядка числовые формулы дифференцирования (NDFs). Они связаны с, но более эффективный, чем формулы дифференцирования назад (BDF), также известные как метод Гира.

ode15s является многоступенчатым решателем, и таким образом обычно нуждается в решениях в нескольких предыдущих моментах времени, чтобы вычислить текущее решение.

ode15s эффективен для жестких проблем. Попробуйте этот решатель, если ode45 перестал работать или неэффективен.

ode23s (stiff/Mod. Rosenbrock)

Вычисляет состояние модели на следующем временном шаге с помощью измененной формулы Розенброка порядка 2.

ode23s является решателем с одним шагом, и поэтому только нуждается в решении в предыдущем моменте времени.

ode23s более эффективен, чем ode15s в грубых допусках и может решить жесткие проблемы, для которых ode15s неэффективен.

ode23t (Mod. stiff/Trapezoidal)

Вычисляет состояние модели на следующем временном шаге с помощью реализации метода трапеций со “свободным” interpolant.

ode23t является решателем с одним шагом, и поэтому только нуждается в решении в предыдущем моменте времени.

Используйте ode23t, если проблема только умеренно жестка, и вам нужно решение без числового затухания.

ode23tb (stiff/TR-BDF2)

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

ode23tb более эффективен, чем ode15s в грубых допусках и может решить жесткие проблемы, для которых ode15s неэффективен.

daessc (Solver for Simscape™)

Вычисляет состояние модели на следующем временном шаге путем решения систем дифференциальных алгебраических уравнений, следующих из моделей Simscape. daessc предоставляет устойчивые алгоритмы, специально предназначенные, чтобы моделировать дифференциальные алгебраические уравнения, являющиеся результатом моделирования физических систем.

daessc только доступен с продуктами Simscape.

Советы

  • Идентификация оптимального решателя для модели требует экспериментирования. Для всестороннего обсуждения смотрите Типы Решателя.

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

  • Программное обеспечение Simulink® использует дискретный решатель для модели без состояний или дискретных состояний только, даже если вы задаете непрерывный решатель.

  • Меньший размер шага увеличивает точность, но также и увеличивает время симуляции.

  • Градус вычислительных увеличений сложности для ode n, когда n увеличивается.

  • Когда вычислительная сложность увеличивается, точность результатов также увеличивается.

Зависимости

Выбор ode1 (Euler), ode2 (Huen), ode 3 (Bogacki-Shampine), ode4 (Runge-Kutta), ode 5 (Dormand-Prince), решатели фиксированного шага ode 8 (Dormand Prince RK8(7)) или Discrete (no continuous states) включают следующие параметры:

  • Размер фиксированного шага (основная частота дискретизации)

  • Периодическое ограничение частоты дискретизации

  • Обработайте каждый дискретный уровень как отдельную задачу

  • Автоматически обработайте переход уровня для передач данных

  • Более высокое приоритетное значение указывает на более высокий приоритет задач

Выбор ode14x (extrapolation) включает следующие параметры:

  • Размер фиксированного шага (основная частота дискретизации)

  • Порядок экстраполяции

  • Итерации Ньютона номера

  • Периодическое ограничение частоты дискретизации

  • Обработайте каждый дискретный уровень как отдельную задачу

  • Автоматически обработайте переход уровня для передач данных

  • Более высокое приоритетное значение указывает на более высокий приоритет задач

Выбор решателя переменного шага Discrete (no continuous states) включает следующие параметры:

  • Размер шага Max

  • Автоматически обработайте переход уровня для передач данных

  • Более высокое приоритетное значение указывает на более высокий приоритет задач

  • Управление пересечением нулем

  • Допуск времени

  • Количество последовательных нулевых пересечений

  • Алгоритм

Выбор ode45 (Dormand-Prince), ode23 (Bogacki-Shampine), ode113 (Adams) или ode23s (stiff/Mod. Rosenbrock) включает следующие параметры:

  • Размер шага Max

  • Размер шага Min

  • Начальный размер шага

  • Относительный допуск

  • Абсолютный допуск

  • Сформируйте сохранение

  • Количество последовательных шагов min

  • Автоматически обработайте переход уровня для передач данных

  • Более высокое приоритетное значение указывает на более высокий приоритет задач

  • Управление пересечением нулем

  • Допуск времени

  • Количество последовательных нулевых пересечений

  • Алгоритм

Выбор ode15s (stiff/NDF), ode23t (Mod. stiff/Trapezoidal ) или ode23tb (stiff/TR-BDF2) включает следующие параметры:

  • Размер шага Max

  • Размер шага Min

  • Начальный размер шага

  • Решатель сбросил метод

  • Количество последовательных шагов min

  • Относительный допуск

  • Абсолютный допуск

  • Сформируйте сохранение

  • Максимальный порядок

  • Автоматически обработайте переход уровня для передач данных

  • Более высокое приоритетное значение указывает на более высокий приоритет задач

  • Управление пересечением нулем

  • Допуск времени

  • Количество последовательных нулевых пересечений

  • Алгоритм

Информация о командной строке

Параметр: Solver
Значение: 'VariableStepAuto' | 'VariableStepDiscrete' | 'ode45' | 'ode23' | 'ode113' | 'ode15s' | 'ode23s' | 'ode23t' | 'ode23tb' | 'daessc' | 'FixedStepAuto' | 'FixedStepDiscrete' | 'ode8' | 'ode5' | 'ode4' | 'ode3' | 'ode2' | 'ode1' | 'ode14x'
Значение по умолчанию: ode45

Похожие темы

Была ли эта тема полезной?