Hello, i calculate trajectory of system by ODEProblem
and solve
from DifferentialEquations.jl
and trajectory
from DynamicalSystems.jl
. With the same integrator parameters, they have different results, why is this?
U(y) = U0 + ΔU0 / ( 1 + exp( -50 * ( y - ythr ) ) )
σ(x)= 1 / (1 + exp(-20 * (x - xthr)))
function model(u, p ,t)
E, x, u_, y = u
τ, α, τ_D, J, U0, ΔU0, τ_y, β, xthr, ythr, I0 = p
du1 = (-E + α * log( 1 + exp( ( J * u_ * x * E + I0 ) / α ) )) / τ
du2 = ( 1 - x ) / τ_D - u_ * x * E
du3 = (U(y) - u_) / τ_F + U(y) * ( 1 - u_ ) * E
du4 = -y / τ_y + β * σ(x)
return SVector(du1, du2, du3, du4)
end
τ = 0.013
α = 1.5
J = 3.07
τ_D = 0.15
U0 = 0.23
τ_F = 1
ΔU0 = 0.305
τ_y = 1.8
β = 0.4375
xthr = 0.9
ythr = 0.5
I0 = -1.45
p = SA[τ, α, τ_D, J, U0, ΔU0, τ_y, β, xthr, ythr, I0]
u0 = SA[1.4, 0.6, 0.0, -2.3];
tspan = (0.0, 2000.0)
prob = ODEProblem(model, u0, tspan, p)
sol = solve(prob, RK4(), adaptive = false, dt = 0.001);
ds = ContinuousDynamicalSystem(model, u0, p)
tr = trajectory(ds, 2000.0; diffeq = (alg = RK4(), adaptive = false, dt = 0.001))