hsim/exm/zelus/ball/ball.zls

21 lines
452 B
Text

let g = 9.81
let y0 = 0.0
let y'0 = 10.0
let hybrid ball () = (y, y', z) where
rec der y = y' init y0
and der y' = -. g init y'0 reset z -> -0.8 *. (last y')
and z = up(-. y)
let hybrid main () =
let der t = 1.0 init 0.0 in
let s = period(0.01) in
let (y, y', z) = ball () in
present z | s -> (
print_float t;
print_string "\t";
print_float y;
(* print_string "\t";
print_float y'; *)
print_newline ()
); ()