Erlang Distribution
The Erlang distribution models the waiting time for the nth occurance of an event with specified waiting time.
The Erlang distribution has two parameters. The first parameter, the number of occurrences n, acts as a shape parameter. The second parameter, the waiting time θ, is a scale parameter.
The Erlang distribution is a special case of the gamma distribution, with location parameter 0 and the shape parameter restricted to integral values. When n = 1, the Erlang distribution reduces to the exponential distribution.
The probability density function is:
$$f(x) = \frac{x^{n-1}e^{-x / \theta}}{\theta^n (n-1)!}$$The Erlang distribution is implemented by the ErlangDistribution class. It has one constructor which takes the number of occurrences and the waiting time (or the shape and scale parameters) as arguments. The first argument must be an integer. The following constructs an Erlang distribution with n = 10 and waiting time 7.6:
var erlang = new ErlangDistribution(10, 7.6);
The ErlangDistribution class has two specific properties, ShapeParameter, which returns the shape parameter of the distribution, and ScaleParameter, which returns the scale parameter.
ErlangDistribution has one static (Shared in Visual Basic) method, Sample, which generates a random sample using a user-supplied uniform random number generator.
var random = new Pcg32();
double sample = ErlangDistribution.Sample(random, 10, 7.6);
The above example uses the MersenneTwister to generate uniform random numbers.
For details of the properties and methods common to all continuous distribution classes, see the topic on Continuous Probability Distributions class.