Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Nuget packages
Configuration
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
  • Extreme Optimization
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Nuget packages
    • Configuration
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Data Access Library User's Guide
    • Reference
  • Statistics Library User's Guide
    • Statistical Variables
    • Numerical Variables
    • Statistical Models
    • Regression Analysis
    • Analysis of Variance
    • Time Series Analysis
    • Multivariate Analysis
    • Continuous Distributions
    • Discrete Distributions
    • Multivariate Distributions
    • Kernel Density Estimation
    • Hypothesis Tests
    • Appendices
  • Continuous Distributions
    • Continuous Distributions
    • The Beta Distribution
    • The Cauchy Distribution
    • The Chi Square Distribution
    • The Erlang Distribution
    • The Exponential Distribution
    • The F Distribution
    • The Gamma Distribution
    • The Generalized Pareto Distribution
    • The Gumbel Distribution
    • The Laplace Distribution
    • The Logistic Distribution
    • Log-Logistic Distribution
    • The Lognormal Distribution
    • The Non-central Beta Distribution
    • The Non-central Chi Square Distribution
    • The Non-central F Distribution
    • The Non-central Student t distribution
    • The Normal Distribution
    • The Pareto Distribution
    • The Rayleigh Distribution
    • Student's t Distribution
    • The Transformed Beta Distribution
    • The Transformed Gamma Distribution
    • The Triangular Distribution
    • The Continuous Uniform Distribution
    • The Weibull Distribution
  • The Triangular Distribution

The Triangular Distribution

Extreme Optimization Numerical Libraries for .NET Professional

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:

Probability density of the triangular distribution.

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:

C#
VB
C++
F#
Copy
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.

C#
VB
C++
F#
Copy
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..

Copyright (c) 2004-2021 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2021, 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 Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.