16 lines
375 B
Plaintext
16 lines
375 B
Plaintext
let sqr x = x *. x
|
|
|
|
let stddev l =
|
|
let n, sx, sx2 =
|
|
List.fold_left
|
|
(fun (n, sx, sx2) x -> succ n, sx +. x, sx2 +. sqr x)
|
|
(0, 0., 0.) l
|
|
in
|
|
sqrt ((sx2 -. sqr sx /. float n) /. float n)
|
|
|
|
let _ =
|
|
let l = [ 2.;4.;4.;4.;5.;5.;7.;9. ] in
|
|
Printf.printf "List: ";
|
|
List.iter (Printf.printf "%g ") l;
|
|
Printf.printf "\nStandard deviation: %g\n" (stddev l)
|