sorry for editing without logging in - that was me all along...Sgeier 00:57, 7 April 2007 (EDT)

Normal Distribution

The Java and IDL examples do not appear to create normally distributed numbers, just uniformly distributed numbers over a given range (1 to 1.5 in the Java case).

The numbers generated will also not have the correct mean and standard deviation. The expected value of the Java example, for instance, will be 1.25 instead of 1. The standard deviation will be .144 instead of 0.5.

For an example of an algorithm, check out http://en.wikipedia.org/wiki/Normal_distribution#Generating_values_for_normal_random_variables

--Nachtrabe 13:53, 31 May 2007 (EDT)

I've fixed the Java example. --Ce 14:25, 31 May 2007 (EDT)
The IDL example uses randomn(), which yields normally distributed numbers (mean 0, std-dev 1). Uniformly distributed numbers would be randomu()

I've modified the MAXScript example using formula others have used, but the results are not correct. Specifically, I'm getting a mean of around 1.62 and a std-dev of 0.33. I believe this is because "sqrt (-2*log a) * cos (2*pi*b)" isn't returning values [0.0..1.0]. Removing the "1.0 + 0.5 *" terms gives a mean of 1.25 and std-dev 0.66. Anyone have any ideas where I'm going wrong? Drea 01:23, 21 September 2007 (MDT)

The normal distribution does not limit values to a hard range. They are instead centered on 0 with a standard deviation of 1. One possibility: make sure your log is the natural logarithm and not base 10. --IanOsgood 09:03, 21 September 2007 (MDT)
Return to "Random numbers" page.