Hi!

At Thu, 1 Dec 2005 01:01:39 +0900, Stephen Waits wrote:
> Try this, if you don't need high performance...
> 
> def rand_normal_float(mean = 0.0, variance = 1.0)
>    # sum 12 random numbers uniformly distributed in [0,1]
>    sum = 0.0
>    12.times { sum += Kernel.rand }
>    # adjust for mean and variance
>    (variance.to_f * (sum - 6.0)) + mean.to_f
> end

My mathematical intuition says that the Gaussian distribution is
achieved as the limit of the above replacing 12 by N (and 6 by N/2)
and then computing the limit for N versus infinity. Without knowing
the quality of the approximation of using 12 in place of infinity the
approximation is of no practical value. Besides that summing up
pseudo-random numbers may decrease their randomness.

Josef 'Jupp' Schugt
-- 
Diese E-Mail wurde moeglicherweise erst mehrere Stunden nach ihrer
Fertigstellung versendet, um Onlinekosten zu sparen.
This e-mail has possibly been sent several hours after composition
in order to reduce online costs.