Дискретные решатели

DiscreteProblems

solve(prob::DiscreteProblem,alg;kwargs)

Решает отображение дискретной функции, определенное prob с помощью алгоритма alg. Если алгоритм не указан, будет выбран алгоритм по умолчанию.

Рекомендуемые методы

Реализация для решения дискретных уравнений — алгоритм FunctionMap в OrdinaryDiffEq.jl. Он обеспечивает полный единый интерфейс (включающий события и обратные вызовы) для решения отображения функций наряду со всем остальным, например шаблонами графиков, при этом полностью игнорируя функциональность обыкновенных дифференциальных уравнений (ODE), относящуюся к уравнениям неразрывности (за исключением небольшого количества инициализаций). Однако SimpleFunctionMap из SimpleDiffEq.jl может быть более эффективно, если функция отображение приводит к существенно меньшим затратам, но у нее отсутствуют все дополнительные возможности, такие как поддержка обратных вызовов и сохранения (но имеется интерфейс интегратора).

Полный список методов

OrdinaryDiffEq.jl

  • FunctionMap: простое отображение функции, которое реализует полный единый интерфейс.

OrdinaryDiffEq.jl также содержит алгоритм FunctionMap, который содержит кусочно-заданную постоянную интерполяцию и обеспечивает все возможности обработки обратных вызовов и событий (конечно же, с помощью rootfind=false. Если указывается ContinuousCallback, всегда предполагается, что rootfind=false).

Конструктор имеет следующий вид.

FunctionMap()
FunctionMap{scale_by_time}()

Каждый шаг является обновлением

Если кроме того scale_by_time присваивается значение true (по умолчанию — false), то каждый шаг является обновлением:

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

SimpleDiffEq.jl

  • SimpleFunctionMap: минимальная реализация отображения функции. Оптимально эффективна и имеет версию и интерфейс интегратора, но не поддерживает элементы управления обратными вызовами и сохранением.