22 lines
603 B
OCaml
22 lines
603 B
OCaml
open Leibniz
|
|
|
|
let () =
|
|
print_endline "symbolic constants\n";
|
|
|
|
let area = Parser.parse "pi * r^2" in
|
|
print_endline ("circle area: A = " ^ Expr.to_string area);
|
|
|
|
let dA_dr = Diff.diff "r" area in
|
|
print_endline ("dA/dr = " ^ Expr.to_string dA_dr);
|
|
|
|
let r_val = 3.0 in
|
|
let a_val = Eval.eval [("r", r_val)] area in
|
|
Printf.printf "A(%.1f) = %.6f\n" r_val a_val;
|
|
|
|
print_endline "\nexponential growth\n";
|
|
|
|
let growth = Parser.parse "e^(k * t)" in
|
|
print_endline ("N(t) = " ^ Expr.to_string growth);
|
|
|
|
let dN_dt = Diff.diff "t" growth in
|
|
print_endline ("dN/dt = " ^ Expr.to_string dN_dt)
|