Class Normal
- All Implemented Interfaces:
DoubleFunction, IntFunction, Serializable, Cloneable
Normal (aka Gaussian) distribution; See the math definition
and animated definition.
Static methods operate on a default uniform random number generator; they are synchronized.
1 2
pdf(x) = --------- exp( - (x-mean) / 2v )
sqrt(2pi*v)
x
-
1 | | 2
cdf(x) = --------- | exp( - (t-mean) / 2v ) dt
sqrt(2pi*v)| |
-
-inf.
where v = variance = standardDeviation^2.
Instance methods operate on a user supplied uniform random number generator; they are unsynchronized.
Implementation: Polar Box-Muller transformation. See G.E.P. Box, M.E. Muller (1958): A note on the generation of random normal deviates, Annals Math. Statist. 29, 610-611.
- Version:
- 1.0, 09/24/99
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected doubleprotected booleanprotected doubleprotected static Normalprotected doubleprotected doubleprotected doubleFields inherited from class AbstractDistribution
randomGeneratorFields inherited from class PersistentObject
serialVersionUID -
Constructor Summary
ConstructorsConstructorDescriptionNormal(double mean, double standardDeviation, RandomEngine randomGenerator) Constructs a normal (gauss) distribution. -
Method Summary
Modifier and TypeMethodDescriptiondoublecdf(double x) Returns the cumulative distribution function.doubleReturns a random number from the distribution.doublenextDouble(double mean, double standardDeviation) Returns a random number from the distribution; bypasses the internal state.doublepdf(double x) Returns the probability distribution function.protected voidsetRandomGenerator(RandomEngine randomGenerator) Sets the uniform random generator internally used.voidsetState(double mean, double standardDeviation) Sets the mean and variance.static doublestaticNextDouble(double mean, double standardDeviation) Returns a random number from the distribution with the given mean and standard deviation.toString()Returns a String representation of the receiver.private static voidxstaticSetRandomGenerator(RandomEngine randomGenerator) Sets the uniform random number generated shared by all static methods.Methods inherited from class AbstractDistribution
apply, apply, clone, getRandomGenerator, makeDefaultGenerator, nextInt
-
Field Details
-
mean
protected double mean -
variance
protected double variance -
standardDeviation
protected double standardDeviation -
cache
protected double cache -
cacheFilled
protected boolean cacheFilled -
SQRT_INV
protected double SQRT_INV
-
-
Constructor Details
-
Normal
Constructs a normal (gauss) distribution. Example: mean=0.0, standardDeviation=1.0.
-
-
Method Details
-
cdf
public double cdf(double x) Returns the cumulative distribution function. -
nextDouble
public double nextDouble()Returns a random number from the distribution.- Specified by:
nextDoublein classAbstractDistribution
-
nextDouble
public double nextDouble(double mean, double standardDeviation) Returns a random number from the distribution; bypasses the internal state. -
pdf
public double pdf(double x) Returns the probability distribution function. -
setRandomGenerator
Sets the uniform random generator internally used.- Overrides:
setRandomGeneratorin classAbstractDistribution
-
setState
public void setState(double mean, double standardDeviation) Sets the mean and variance. -
staticNextDouble
public static double staticNextDouble(double mean, double standardDeviation) Returns a random number from the distribution with the given mean and standard deviation. -
toString
-
xstaticSetRandomGenerator
Sets the uniform random number generated shared by all static methods.- Parameters:
randomGenerator- the new uniform random number generator to be shared.
-