Документация Engee

Решатели SDDE

solve(prob::AbstractSDDEProblem, alg; kwargs)

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

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

Рекомендуемым методом для решения задач SDDE являются алгоритмы SDE. Для SDE достаточно использовать тот же алгоритм, что и в решателе SDE, а StochasticDelayDiffEq.jl преобразует его в SDDE-решатель. Рекомендации для решателей SDDE совпадают с рекомендациями для SDE, за исключением того, что рекомендуется использовать решатели только до сильного первого порядка. Также обратите внимание, что 1-й порядок в настоящее время доступен только при отсутствии члена запаздывания в функции диффузии : запаздывания в функции дрейфа совместимы со сходимостью первого порядка. Теоретические вопросы применения методов более высокого порядка (1,5+) в SDDE в настоящее время неизвестны.

Отметим, что адаптивная дискретизация по времени использует ту же технику отбраковки выборок с памятью, что и SDE, однако доказательство сходимости для SDDE неизвестно.

Пример

function hayes_modelf(du, u, h, p, t)
    τ, a, b, c, α, β, γ = p
    du .= a .* u .+ b .* h(p, t - τ) .+ c
end
function hayes_modelg(du, u, h, p, t)
    τ, a, b, c, α, β, γ = p
    du .= α .* u .+ γ
end
h(p, t) = (ones(1) .+ t);
tspan = (0.0, 10.0)

pmul = [1.0, -4.0, -2.0, 10.0, -1.3, -1.2, 1.1]
padd = [1.0, -4.0, -2.0, 10.0, -0.0, -0.0, 0.1]

prob = SDDEProblem(hayes_modelf, hayes_modelg, [1.0], h, tspan, pmul;
                   constant_lags = (pmul[1],));
sol = solve(prob, RKMil())