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# CopyCode imageCopy 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 CopyCode imageCopy 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# CopyCode imageCopy Code
MersenneTwister random = new MersenneTwister();
double variate = TriangularDistribution.GetRandomVariate(random, 6.8, 1.8);
Visual Basic CopyCode imageCopy 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

Overview
Introduction
Features
Documentation
QuickStart Samples
Sample Applications
Downloads
Get it now!
Download trial version
How to Buy
Information
Resources
Contact Us
Search

"The Extreme Optimization Statistics Library for .NET is a major boon for those doing statistical work in .NET. I strongly recommend this product."
- Marc Brooks

"I have made it my mission to institutionalize the value of good API design.  I strongly believe that this is key to making developers more productive and happy on our platform. It is clear that you value good API design in your work, and take to heart developer productivity and synergy with the .NET framework."
- Brad Abrams,
Lead Program Manager, Microsoft.

This is a partial list of companies who are using our libraries:
ABB Robotics
Allstate
Applied Materials
Arcam
Astra Schedule
Babson College
Canadian Council on Learning
Canyon Associates
Caxton Associates
CECity
Constellation Energy
CreditSights
DeepOcean
Duke University
Dynamotive
Elecsoft
Engelhard Corporation
Epcor
Equipoise Software
Galileo International
GAM UK
Gammex
GlaxoSmithKline
Global Matrix
The Hartford
Infinera Corporation
Intel
JDS Uniphase
LaBranche & Co.
Learning & Skills Council
Jacobs Consultancy
Litman Gregory
Lucas Systems
Malvern Instruments
Medrio
Merck & Co.
Mintera.
Monitor Software
MorningStar
NanoString Technologies
Paletta Invent
Parametric Portfolio Associates
Prosanos
RATA Associates
RiskShield
Ramboll
Standard & Poor's
Strategic Analysis Corporation
Univ. of Alicante
Univ. of South Carolina
vielife
Xerox
US Army