Extreme Optimization >
User's Guide >
Statistics Library >
Continuous Probability Distributions >
The Triangular Distribution
Extreme Optimization User's Guide
User's Guide
Up: Continuous Probability Distributions Next: The Continuous Uniform Distribution Previous: Student's T Distribution Contents
The Triangular Distribution
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, with two parameters,
adds the maximum value. Finally, the third constructor takes three
arguments: the minimum, the maximum, and the mode.
The following constructs the same triangular distribution over
the interval [0, 1] with mode 0.6:
| C# | Copy Code |
TriangularDistribution triangular1 = new TriangularDistribution(0.6);
TriangularDistribution triangular2 = new TriangularDistribution(1.0, 0.6);
TriangularDistribution triangular3 = new TriangularDistribution(0.0, 1.0, 0.6); |
| Visual Basic | Copy Code |
Dim triangular1 As TriangularDistribution = New TriangularDistribution(0.6)
Dim triangular2 As TriangularDistribution = New TriangularDistribution(1.0, 0.6)
Dim triangular3 As TriangularDistribution = New TriangularDistribution(0.0, 1.0, 0.6) |
The TriangularDistribution class has three specific
properties,
Minimum,
Maximum, and Mode,
which return the three parameters of the distribution.
TriangularDistribution has one static
(Shared in Visual Basic) method,
GetRandomVariate, which generates a random variate
using a user-supplied uniform random number generator. The second
and third parameters are the location and scale parameters of the
distribution.
| C# | Copy Code |
MersenneTwister random = new MersenneTwister();
double variate = TriangularDistribution.GetRandomVariate(random, 6.8, 1.8); |
| Visual Basic | Copy Code |
Dim random As MersenneTwister = New MersenneTwister()
Dim variate As Double = TriangularDistribution.GetRandomVariate(random, 6.8, 1.8) |
The above example uses the Mersenne
Twister to generate uniform random numbers.
For details of the properties and methods common to all
continuous distribution classes, see the topic on ContinuousDistribution
class.
Up: Continuous Probability Distributions Next: The Continuous Uniform Distribution Previous: Student's T Distribution Contents
Copyright 2004-2008,
Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M
Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual
Studio.NET, and the Visual Studio Logo are registered trademarks of Microsoft Corporation