Random numbers: Difference between revisions
Content deleted Content added
Add Avail entry |
No edit summary |
||
Line 329: | Line 329: | ||
<lang lisp>(loop for i from 1 to 1000 |
<lang lisp>(loop for i from 1 to 1000 |
||
collect (1+ (* (sqrt (* -2 (log (random 1.0)))) (cos (* 2 pi (random 1.0))) 0.5)))</lang> |
collect (1+ (* (sqrt (* -2 (log (random 1.0)))) (cos (* 2 pi (random 1.0))) 0.5)))</lang> |
||
=={{header|Crystal}}== |
|||
{{trans|Phix}} |
|||
<lang ruby>n, mean, sd, tau = 1000, 1, 0.5, (2 * Math::PI) |
|||
array = Array.new(n) { mean + sd * Math.sqrt(-2 * Math.log(rand)) * Math.cos(tau * rand) } |
|||
mean = array.sum / array.size |
|||
standev = Math.sqrt( array.sum{ |x| (x - mean) ** 2 } / array.size ) |
|||
puts "mean = #{mean}, standard deviation = #{standev}"</lang> |
|||
{{out}} |
|||
<pre>mean = 1.0093442539237896, standard deviation = 0.504694489463623</pre> |
|||
=={{header|D}}== |
=={{header|D}}== |