11Base. isapprox ((v1, t1):: Tuple{Vector{Float64}, Float64} , (v2, t2):: Tuple{Vector{Float64}, Float64} ) = v1 ≈ v2 && t1 ≈ t2
2- tol = 1e-8
2+ tol = 1e-6
33
44@testset " Continous" begin
55 @testset " Model-Model Mixed (self-discretized) Comparison" begin
7575 ref_sol = solve (ref_prob, Tsit5 (), reltol = 1e-8 , abstol = 1e-8 )
7676 data = DataFrame ([" timestamp" => Float64[], " x(t)" => Float64[], " y(t)" => Float64[]])
7777 for t in LinRange (0.0 , 1.0 , 1000 )
78- push! (data, [t, ref_sol (t, idxs= fol. x) + randn ()* 0.1 , ref_sol (t, idxs= fol. y) + randn ()* 0.1 ])
78+ push! (data, [t, ref_sol (t, idxs= fol. x) + randn () * 0.1 , ref_sol (t, idxs= fol. y) * randn () * 0.1 ])
7979 end
8080
81- results = ModelTesting. validate (fol, data; search_space= [fol. τ => (0.5 ,0.5 )], params = [fol. τ => 0.5 ], u0 = [fol. x => 0.0 ])
82-
83- println (results)
81+ results_bad = ModelTesting. validate (fol, data; search_space= [fol. τ => (0.5 ,0.5 )], params = [fol. τ => 0.5 ], u0 = [fol. x => 0.0 ])
82+ results_good = ModelTesting. validate (fol, data; search_space= [fol. τ => (1.0 ,1.0 )], params = [fol. τ => 1.0 ], u0 = [fol. x => 0.0 ])
83+ @test results_good[:metrics ][:l∞ ] < results_bad[:metrics ][:l∞ ]
84+ @test results_good[:metrics ][:l2 ] < results_bad[:metrics ][:l2 ]
85+ CSV. write (" results.csv" , results_bad[:data ])
86+ display (results_good[:data ])
8487 end
8588end
0 commit comments