Package sim.util.distribution
Class Normal
java.lang.Object
sim.util.distribution.AbstractDistribution
sim.util.distribution.AbstractContinuousDistribution
sim.util.distribution.Normal
- All Implemented Interfaces:
Serializable
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.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected double
protected boolean
protected double
protected double
protected double
protected double
Fields inherited from class sim.util.distribution.AbstractDistribution
randomGenerator
-
Constructor Summary
ConstructorDescriptionNormal
(double mean, double standardDeviation, MersenneTwisterFast randomGenerator) Constructs a normal (gauss) distribution. -
Method Summary
Modifier and TypeMethodDescriptiondouble
cdf
(double x) Returns the cumulative distribution function.double
Returns a random number from the distribution.double
nextDouble
(double mean, double standardDeviation) Returns a random number from the distribution; bypasses the internal state.double
pdf
(double x) Returns the probability distribution function.protected void
setRandomGenerator
(MersenneTwisterFast randomGenerator) Sets the uniform random generator internally used.void
setState
(double mean, double standardDeviation) Sets the mean and variance.toString()
Returns a String representation of the receiver.Methods inherited from class sim.util.distribution.AbstractDistribution
apply, apply, getRandomGenerator, 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:
nextDouble
in 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:
setRandomGenerator
in classAbstractDistribution
-
setState
public void setState(double mean, double standardDeviation) Sets the mean and variance. -
toString
Returns a String representation of the receiver.
-