Package sim.util.distribution
Class Poisson
java.lang.Object
sim.util.distribution.AbstractDistribution
sim.util.distribution.AbstractDiscreteDistribution
sim.util.distribution.Poisson
- All Implemented Interfaces:
Serializable
Poisson distribution (quick); See the math definition
and animated definition.
Static methods operate on a default uniform random number generator; they are synchronized.
This is a port of pprsc.c from the C-RAND / WIN-RAND library.
C-RAND's implementation, in turn, is based upon
p(k) = (mean^k / k!) * exp(-mean) for k >= 0.
Valid parameter ranges: mean > 0. Note: if mean <= 0.0 then always returns zero.
Instance methods operate on a user supplied uniform random number generator; they are unsynchronized.
Implementation: High performance implementation. Patchwork Rejection/Inversion method.
H. Zechner (1994): Efficient sampling from continuous and discrete unimodal distributions, Doctoral Dissertation, 156 pp., Technical University Graz, Austria.
Also see
Stadlober E., H. Zechner (1999), The patchwork rejection method for sampling from unimodal distributions, to appear in ACM Transactions on Modelling and Simulation.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected double
protected double
protected double
protected double
protected double
protected double
protected double
protected int
protected int
protected int
protected int
protected double
protected double
protected int
protected double
protected int
protected double
protected static final double
protected double
protected double
protected double
protected double
protected double
protected double
protected double
protected double
protected double
protected double
protected double[]
protected double
protected double
protected double
protected double
protected double
protected static final double
Fields inherited from class sim.util.distribution.AbstractDistribution
randomGenerator
-
Constructor Summary
ConstructorDescriptionPoisson
(double mean, MersenneTwisterFast randomGenerator) Constructs a poisson distribution. -
Method Summary
Modifier and TypeMethodDescriptiondouble
cdf
(int k) Returns the cumulative distribution function.int
nextInt()
Returns a random number from the distribution.int
nextInt
(double theMean) Returns a random number from the distribution; bypasses the internal state.double
pdf
(int k) Returns the probability distribution function.void
setMean
(double mean) Sets the mean.toString()
Returns a String representation of the receiver.Methods inherited from class sim.util.distribution.AbstractDiscreteDistribution
nextDouble
Methods inherited from class sim.util.distribution.AbstractDistribution
apply, apply, getRandomGenerator, setRandomGenerator
-
Field Details
-
mean
protected double mean -
my_old
protected double my_old -
p
protected double p -
q
protected double q -
p0
protected double p0 -
pp
protected double[] pp -
llll
protected int llll -
my_last
protected double my_last -
ll
protected double ll -
k2
protected int k2 -
k4
protected int k4 -
k1
protected int k1 -
k5
protected int k5 -
dl
protected double dl -
dr
protected double dr -
r1
protected double r1 -
r2
protected double r2 -
r4
protected double r4 -
r5
protected double r5 -
lr
protected double lr -
l_my
protected double l_my -
c_pm
protected double c_pm -
f1
protected double f1 -
f2
protected double f2 -
f4
protected double f4 -
f5
protected double f5 -
p1
protected double p1 -
p2
protected double p2 -
p3
protected double p3 -
p4
protected double p4 -
p5
protected double p5 -
p6
protected double p6 -
m
protected int m -
MEAN_MAX
protected static final double MEAN_MAX- See Also:
-
SWITCH_MEAN
protected static final double SWITCH_MEAN- See Also:
-
-
Constructor Details
-
Poisson
Constructs a poisson distribution. Example: mean=1.0.
-
-
Method Details
-
cdf
public double cdf(int k) Returns the cumulative distribution function. -
nextInt
public int nextInt()Returns a random number from the distribution.- Specified by:
nextInt
in classAbstractDiscreteDistribution
-
nextInt
public int nextInt(double theMean) Returns a random number from the distribution; bypasses the internal state. -
pdf
public double pdf(int k) Returns the probability distribution function. -
setMean
public void setMean(double mean) Sets the mean. -
toString
Returns a String representation of the receiver.
-