@@ -469,14 +469,12 @@ let
469
469
eqs = [D (X) ~ α* (1 + Y)]
470
470
@named jsys = JumpSystem ([maj, crj, vrj, eqs[1 ]], t, [X, Y], [α, β])
471
471
jsys = complete (jsys)
472
-
473
472
p = (α = 6.0 , β = 2.0 , X₀ = 2.0 , Y₀ = 1.0 )
474
473
u0map = [X => p. X₀, Y => p. Y₀]
475
474
pmap = [α => p. α, β => p. β]
476
475
tspan = (0.0 , 20.0 )
477
476
oprob = ODEProblem (jsys, u0map, tspan, pmap)
478
477
jprob = JumpProblem (jsys, oprob; rng, save_positions = (false , false ))
479
-
480
478
times = range (0.0 , tspan[2 ], length = 100 )
481
479
Nsims = 4000
482
480
Xv = zeros (length (times))
@@ -487,20 +485,20 @@ let
487
485
Yv .+ = sol[2 ,:]
488
486
end
489
487
Xv ./= Nsims; Yv ./= Nsims;
488
+
490
489
function Yf (t, p)
491
- @unpack α, β, Y₀ = p
490
+ local α, β, X₀ , Y₀ = p
492
491
return (α / β) + (Y₀ - α / β) * exp (- β * t)
493
492
end
494
493
function Xf (t, p)
495
- @unpack α, β, X₀, Y₀ = p
494
+ local α, β, X₀, Y₀ = p
496
495
return (α / β) + (α^ 2 / β^ 2 ) + α * (Y₀ - α / β) * t * exp (- β * t) + (X₀ - α / β - α^ 2 / β^ 2 ) * exp (- β * t)
497
496
end
498
497
Xact = [Xf (t,p) for t in times]
499
498
Yact = [Yf (t,p) for t in times]
500
499
@test all (abs .(Xv .- Xact) .<= 0.05 .* Xv)
501
500
@test all (abs .(Yv .- Yact) .<= 0.05 .* Yv)
502
-
503
- Xss = (p. α / p. β) + (p. α^ 2 / p. β^ 2 )
501
+
504
502
function affect! (integ, u, p, ctx)
505
503
savevalues! (integ, true )
506
504
terminate! (integ)
0 commit comments