{version = 3.17; (* of normal.p 1994 sep 5}
(* begin module describe.normal *)
(*
name
normal: generate normally distributed random numbers
synopsis
normal(normalp:in, data: out, output: out)
files
normalp: parameter file controlling the program.
Two numbers, one per line:
seed: random seed to start the process
total: the number of numbers to generate
data: This is a set of numbers which should have Gaussian distribution
if the random number generator is a reasonable one.
It will be N(0,1), a normal distribution
with mean 0 and standard deviation 1.
genhisp: control file for the genhis histogram plotting program.
output: messages to the user
description
Test of a random number generator by creating a gaussian
distribution of numbers for plotting by genhis.
Method: if U is a member of the set [0..1] and Un and Un+1
are two members, then define
theta = Un 2 pi
r = sqrt(-2 ln(Un+1))
then when these polar coordinates are converted to Cartesian
coordinates, one gets two independent Normally distributed numbers,
with mean 0 and standard deviation 1. To get other standard deviations
multiply by a constant, and to get other means, add a constant.
The proof was from a friend; I only have sketch notes at the moment.
I'm sure it is available in standard texts. However, it works,
as shown by the example.
example
seed := 0.5;
total := 10000;
The mean was 0.00 (to two places) and the standard deviation was 1.01.
see also
gentst.p, tstrnd.p, genhis.p
author
Tom Schneider
National Cancer Institute
Laboratory of Mathematical Biology
Frederick, Maryland
toms@ncifcrf.gov
bugs
none known
*)
(* end module describe.normal *)
{This manual page was created by makman 1.44}
{created by htmlink 1.52}