hsim-live/exm/ballc/ball.zls
2026-03-30 13:28:49 +02:00

18 lines
452 B
Text

let g = 9.81
let p0 = 5.0
let v0 = 0.0
let hybrid ball () = (p, z) where
rec der p = v init p0 reset z -> 0.0
and der v = -. g init v0 reset z -> -0.8 *. (last v)
and z = up (-. p)
let hybrid main () =
let der t = 1.0 init 0.0 in
let rec der p = 1.0 init -0.01 reset q -> -0.01
and q = up (last p) in
let (b, z) = ball () in
present q | z -> (
print_float t; print_string "\t";
print_float b; print_newline ()
); ()