The triangular distribution can be used to model a variable for which very little data is available. Using an
estimate for the minimum and maximum value as well as the mode (most common value), a reasonable approximation can be
made.
The triangular distribution has three parameters: the minimum value, the maximum value, and the mode. The
traditional types of parameters (location, scale, shape) don't have an obvious meaning for the triangular
distribution. The probability density function is:
The triangular distribution is implemented by the TriangularDistribution class. It has three
constructors. The first constructor takes just one argument: the mode. The minimum and maximum values are set to 0
and 1, respectively. The second constructor takes two arguments and adds the maximum value. Finally, the third
constructor takes three arguments: the minimum, the maximum, and the mode (most likely value).
The following constructs the same triangular distribution over the interval [0, 1] with mode 0.6:
var triangular1 = new TriangularDistribution(0.6);
var triangular2 = new TriangularDistribution(1.0, 0.6);
var triangular3 = new TriangularDistribution(0.0, 1.0, 0.6);
Dim triangular1 = New TriangularDistribution(0.6)
Dim triangular2 = New TriangularDistribution(1.0, 0.6)
Dim triangular3 = New TriangularDistribution(0.0, 1.0, 0.6)
No code example is currently available or this language may not be supported.
let triangular1 = TriangularDistribution(0.6)
let triangular2 = TriangularDistribution(1.0, 0.6)
let triangular3 = TriangularDistribution(0.0, 1.0, 0.6)
The TriangularDistribution
class has three specific properties,
LowerBound,
UpperBound,
and Mode,
which return the three parameters of the distribution.
TriangularDistribution has one static (Shared in Visual Basic) method, Sample, which generates
a random sample using a user-supplied uniform random number generator. The second and third parameters are the
location and scale parameters of the distribution.
var random = new MersenneTwister();
double sample = TriangularDistribution.Sample(random, 6.8, 1.8);
Dim random = New MersenneTwister()
Dim sample = TriangularDistribution.Sample(random, 6.8, 1.8)
No code example is currently available or this language may not be supported.
let random = MersenneTwister()
let sample = TriangularDistribution.Sample(random, 6.8, 1.8)
The above example uses the MersenneTwister class to generate uniform random numbers.
For details of the properties and methods common to all continuous distribution classes, see the topic on
continuous distributions..