public class Binomial extends AbstractDiscreteDistribution
p(x) = k * p^k * (1-p)^(n-k) with k = n! / (k! * (n-k)!).
Instance methods operate on a user supplied uniform random number generator; they are unsynchronized.
Implementation: High performance implementation. Acceptance Rejection/Inversion method. This is a port of RandBinomial used in CLHEP 1.4.0 (C++). CLHEP's implementation is, in turn, based on
V. Kachitvichyanukul, B.W. Schmeiser (1988): Binomial random variate generation, Communications of the ACM 31, 216-222.
Modifier and Type | Field and Description |
---|---|
protected int |
n |
protected double |
p |
protected static Binomial |
shared |
randomGenerator
serialVersionUID
Constructor and Description |
---|
Binomial(int n,
double p,
RandomEngine randomGenerator)
Constructs a binomial distribution.
|
Modifier and Type | Method and Description |
---|---|
double |
cdf(int k)
Returns the cumulative distribution function.
|
protected int |
generateBinomial(int n,
double p)
*
Binomial-Distribution - Acceptance Rejection/Inversion *
*
*
Acceptance Rejection method combined with Inversion for *
generating Binomial random numbers with parameters *
n (number of trials) and p (probability of success).
|
int |
nextInt()
Returns a random number from the distribution.
|
int |
nextInt(int n,
double p)
Returns a random number from the distribution with the given parameters n and p; bypasses the internal state.
|
double |
pdf(int k)
Returns the probability distribution function.
|
void |
setNandP(int n,
double p)
Sets the parameters number of trials and the probability of success.
|
static int |
staticNextInt(int n,
double p)
Returns a random number from the distribution with the given parameters n and p.
|
String |
toString()
Returns a String representation of the receiver.
|
nextDouble
apply, apply, clone, getRandomGenerator, makeDefaultGenerator, setRandomGenerator
protected int n
protected double p
protected static Binomial shared
public Binomial(int n, double p, RandomEngine randomGenerator)
n
- the number of trials (also known as sample size).p
- the probability of success.randomGenerator
- a uniform random number generator.IllegalArgumentException
- if n*Math.min(p,1-p) <= 0.0public double cdf(int k)
protected int generateBinomial(int n, double p)
public int nextInt()
nextInt
in class AbstractDiscreteDistribution
public int nextInt(int n, double p)
n
- the number of trialsp
- the probability of success.IllegalArgumentException
- if n*Math.min(p,1-p) <= 0.0public double pdf(int k)
public void setNandP(int n, double p)
n
- the number of trialsp
- the probability of success.IllegalArgumentException
- if n*Math.min(p,1-p) <= 0.0public static int staticNextInt(int n, double p)
n
- the number of trialsp
- the probability of success.IllegalArgumentException
- if n*Math.min(p,1-p) <= 0.0Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.