Package sim.util.distribution
Class NegativeBinomial
java.lang.Object
sim.util.distribution.AbstractDistribution
sim.util.distribution.AbstractDiscreteDistribution
sim.util.distribution.NegativeBinomial
- All Implemented Interfaces:
Serializable
Negative Binomial distribution; See the math definition.
Static methods operate on a default uniform random number generator; they are synchronized.
This is a port of nbp.c from the C-RAND / WIN-RAND library.
C-RAND's implementation, in turn, is based upon
Instance methods operate on a user supplied uniform random number generator; they are unsynchronized.
Implementation: High performance implementation. Compound method.
J.H. Ahrens, U. Dieter (1974): Computer methods for sampling from gamma, beta, Poisson and binomial distributions, Computing 12, 223--246.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Gammaprotected intprotected doubleprotected PoissonFields inherited from class sim.util.distribution.AbstractDistribution
randomGenerator -
Constructor Summary
ConstructorsConstructorDescriptionNegativeBinomial(int n, double p, MersenneTwisterFast randomGenerator) Constructs a Negative Binomial distribution. -
Method Summary
Modifier and TypeMethodDescriptiondoublecdf(int k) Returns the cumulative distribution function.intnextInt()Returns a random number from the distribution.intnextInt(int n, double p) Returns a random number from the distribution; bypasses the internal state.doublepdf(int k) Returns the probability distribution function.voidsetNandP(int n, double p) Sets the parameters number of trials and the probability of success.toString()Returns a String representation of the receiver.Methods inherited from class sim.util.distribution.AbstractDiscreteDistribution
nextDoubleMethods inherited from class sim.util.distribution.AbstractDistribution
apply, apply, getRandomGenerator, setRandomGenerator
-
Field Details
-
n
protected int n -
p
protected double p -
gamma
-
poisson
-
-
Constructor Details
-
NegativeBinomial
Constructs a Negative Binomial distribution. Example: n=1, p=0.5.- Parameters:
n- the number of trials.p- the probability of success.randomGenerator- a uniform random number generator.
-
-
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:
nextIntin classAbstractDiscreteDistribution
-
nextInt
public int nextInt(int n, double p) Returns a random number from the distribution; bypasses the internal state. -
pdf
public double pdf(int k) Returns the probability distribution function. -
setNandP
public void setNandP(int n, double p) Sets the parameters number of trials and the probability of success.- Parameters:
n- the number of trialsp- the probability of success.
-
toString
Returns a String representation of the receiver.
-