Решатель

Описание

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

Решатель Category:

Настройки

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

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

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

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

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

X (n +1) = X (n) + h dX (n)

где X является состоянием, h является размером шага, и dX является производной состояния. dX (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 является состоянием, dX является производной состояния, и h является размером шага:

X (n +1) - X (n) - h dX (n +1) = 0

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

ode1be (Backward Euler)

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

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

Значение по умолчанию: 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 неэффективно.

odeN (fixed step with zero crossings)

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

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

daessc (Solver for Simscape™)

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

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

Советы

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

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

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

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

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

  • Степень вычислительной сложности увеличивается для oden, как 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) решатели фиксированного шага включают следующие параметры:

  • Fixed-step size (fundamental sample time)

  • Periodic sample time constraint

  • Treat each discrete rate as a separate task

  • Automatically handle rate transition for data transfers

  • Higher priority value indicates higher task priority

Выбор odeN (fixed step with zero crossings) решатель переменного шага включает следующие параметры:

  • Max step size

  • Integration method

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

  • Fixed-step size (fundamental sample time)

  • Extrapolation order

  • Number of Newton's iterations

  • Periodic sample time constraint

  • Treat each discrete rate as a separate task

  • Automatically handle rate transition for data transfers

  • Higher priority value indicates higher task priority

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

  • Fixed-step size (fundamental sample time)

  • Number of Newton's iterations

  • Periodic sample time constraint

  • Treat each discrete rate as a separate task

  • Automatically handle rate transition for data transfers

  • Higher priority value indicates higher task priority

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

  • Max step size

  • Automatically handle rate transition for data transfers

  • Higher priority value indicates higher task priority

  • Zero-crossing control

  • Time tolerance

  • Number of consecutive zero crossings

  • Algorithm

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

  • Max step size

  • Min step size

  • Initial step size

  • Relative tolerance

  • Absolute tolerance

  • Shape preservation

  • Number of consecutive min steps

  • Automatically handle rate transition for data transfers

  • Higher priority value indicates higher task priority

  • Zero-crossing control

  • Time tolerance

  • Number of consecutive zero crossings

  • Algorithm

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

  • Max step size

  • Min step size

  • Initial step size

  • Solver reset method

  • Number of consecutive min steps

  • Relative tolerance

  • Absolute tolerance

  • Shape preservation

  • Maximum order

  • Automatically handle rate transition for data transfers

  • Higher priority value indicates higher task priority

  • Zero-crossing control

  • Time tolerance

  • Number of consecutive zero crossings

  • Algorithm

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

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

Похожие темы