Cumulative standard deviation: Difference between revisions
Content added Content deleted
m (→{{header|Haskell}}: Tidying) |
|||
Line 1,907: | Line 1,907: | ||
<lang Haskell>import Data.List (mapAccumL) |
<lang Haskell>import Data.List (mapAccumL) |
||
-------------- CUMULATIVE STANDARD DEVIATION ------------- |
-------------- CUMULATIVE STANDARD DEVIATION ------------- |
||
cumulativeStdDevns :: [Float] -> [Float] |
cumulativeStdDevns :: [Float] -> [Float] |
||
cumulativeStdDevns |
cumulativeStdDevns = snd . mapAccumL go (0, 0) . zip [1.0..] |
||
where |
where |
||
go (s, q) (i, x) = |
go (s, q) (i, x) = |
||
Line 1,917: | Line 1,918: | ||
_q = q + (x ^ 2) |
_q = q + (x ^ 2) |
||
in ((_s, _q), sqrt ((_q / i) - ((_s / i) ^ 2))) |
in ((_s, _q), sqrt ((_q / i) - ((_s / i) ^ 2))) |
||
--------------------------- TEST ------------------------- |
--------------------------- TEST ------------------------- |
||
main :: IO () |
main :: IO () |