Triangledf

From Eigenvector Documentation Wiki
Jump to: navigation, search

Contents

Purpose

Triangle distribution.

Synopsis

prob = triangledf(function,x,a,b,c)

Description

Estimates cumulative distribution function (cumulative, cdf), probability density function (density, pdf), quantile (inverse of cdf), or random numbers for a Triangle distribution.

This distribution is usually used for rough models of data and is triangular in shape (hence the name).


f(x)= \frac {2 \left ( x-a \right ) } {\left ( b-a \right ) \left ( c-a \right ) } \mathrm {I} \left ( a \le x \le c \right ) + \frac {2 \left (b-x \right ) } { \left ( b-a \right ) \left ( b-c \right ) } \mathrm {I} \left (c \le x \le b \right )


F(x)= \frac { \left ( x-a \right ) ^2} {\left ( b-a \right ) \left ( c-a \right ) } \mathrm {I} \left ( a \le x \le c \right ) + 1 - \frac { \left (b-x \right )^2 } { \left ( b-c \right ) \left ( c-a \right ) } \mathrm {I} \left (c \le x \le b \right )



Inputs

  • function = [ {'cumulative'} | 'density' | 'quantile' | 'random' ], defines the functionality to be used. Note that the function recognizes the first letter of each string so that the string could be: [ 'c' | 'd' | 'q' | 'r' ].
  • x = matrix in which the sample data is stored (-inf,inf).
for function = 'quantile' - interval (0,1).
for function = 'random' - vector indicating the size of the random matrix to create.
  • a = "min" parameter (real, <= mode).
  • b = "max" parameter (real, >= mode).
  • c = "mode" parameter (real, >= min and <=max).

Note: If inputs (x, a, b, and c) are not equal in size, the function will attempt to resize all inputs to the largest input using the RESIZE function.

Note: Functions will typically allow input values outside of the acceptable range to be passed but will convert them to NaN.

Examples

Cumulative

>> prob = triangledf('c',2,1,3,2)
prob =
    0.5000
>> x    = [0:0.1:10];
>> plot(x,triangledf('c',x,1,3,2),'b-',x,triangledf('c',x,1,5,3),'r-')

Density

>> prob = triangledf('d',2,1,3,2)
prob =
    1.0000
>> x    = [0:0.1:10];
>> plot(x,triangledf('d',x,0,3,0),'b-',x,triangledf('d',x,1,3,2),'r-')

Quantile

>> prob = triangledf('q',0.5,1,3,2)
prob =
    2.0000

Random

>> prob = triangledf('r',[4 1],1,3,2)
ans =
    2.2817
    1.9431
    2.1094
    2.2585

See Also

betadf, cauchydf, chidf, expdf, gammadf, gumbeldf, laplacedf, logisdf, lognormdf, normdf, paretodf, raydf, unifdf, weibulldf

Views
Personal tools