-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add hybrid lotka-volterra model #196
Conversation
Note : this branch requires to checkout |
This plot captures the overapproximation of a Taylor model reach-set using a box (blue) and a zonotope (red). I was interesecting these with B_ext in order to prove disjointness. As it is seen in the plot, the flowpipe actually has left much earlier, which we can prove either using the zonotope overapprox, or computing a tighter continuous solution eg. by splitting. |
Beautiful! |
The intersection time can be obtained with the following function: solz = overapproximate(sol, Zonotope);
intersecting_reachsets = []
for (i, Fi) in enumerate(solz)
for (j, Xj) in enumerate(Fi)
!isdisjoint(Xj, B_ext) && push!(intersecting_reachsets, (i, j))
end
end
times = [tspan(solz[ind[1]][ind[2]]) for ind in intersecting_reachsets];
tmin = minimum(tstart, times)
tmax = maximum(tend, times)
tmax - tmin Here we detect, for each flowpipe, those reach-sets that intersect the outer approximation of the ball. Then takes the minimum (resp. maximum) times so we have a proof for an upper bound on the intersection time. The results obtained for the settings in my previous comment are 0.21554 and 0.17176 respectively. |
We can also see that there are flowpipes which never intersected the guard: [isdisjoint(s, B_ext) for s in solz]
12-element Array{Bool,1}:
1
1
1
1
1
0
0
0
0
0
0
0 Here you see 12 flowpipes because:
|
No description provided.