@@ -469,14 +469,12 @@ let
469469 eqs = [D (X) ~ α* (1 + Y)]
470470 @named jsys = JumpSystem ([maj, crj, vrj, eqs[1 ]], t, [X, Y], [α, β])
471471 jsys = complete (jsys)
472-
473472 p = (α = 6.0 , β = 2.0 , X₀ = 2.0 , Y₀ = 1.0 )
474473 u0map = [X => p. X₀, Y => p. Y₀]
475474 pmap = [α => p. α, β => p. β]
476475 tspan = (0.0 , 20.0 )
477476 oprob = ODEProblem (jsys, u0map, tspan, pmap)
478477 jprob = JumpProblem (jsys, oprob; rng, save_positions = (false , false ))
479-
480478 times = range (0.0 , tspan[2 ], length = 100 )
481479 Nsims = 4000
482480 Xv = zeros (length (times))
@@ -487,20 +485,20 @@ let
487485 Yv .+ = sol[2 ,:]
488486 end
489487 Xv ./= Nsims; Yv ./= Nsims;
488+
490489 function Yf (t, p)
491- @unpack α, β, Y₀ = p
490+ local α, β, X₀ , Y₀ = p
492491 return (α / β) + (Y₀ - α / β) * exp (- β * t)
493492 end
494493 function Xf (t, p)
495- @unpack α, β, X₀, Y₀ = p
494+ local α, β, X₀, Y₀ = p
496495 return (α / β) + (α^ 2 / β^ 2 ) + α * (Y₀ - α / β) * t * exp (- β * t) + (X₀ - α / β - α^ 2 / β^ 2 ) * exp (- β * t)
497496 end
498497 Xact = [Xf (t,p) for t in times]
499498 Yact = [Yf (t,p) for t in times]
500499 @test all (abs .(Xv .- Xact) .<= 0.05 .* Xv)
501500 @test all (abs .(Yv .- Yact) .<= 0.05 .* Yv)
502-
503- Xss = (p. α / p. β) + (p. α^ 2 / p. β^ 2 )
501+
504502 function affect! (integ, u, p, ctx)
505503 savevalues! (integ, true )
506504 terminate! (integ)
0 commit comments