Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## umontreal.iro.lecuyer.probdist
Class TriangularDist

    java.lang.Object
      umontreal.iro.lecuyer.probdist.ContinuousDistribution
          umontreal.iro.lecuyer.probdist.TriangularDist

All Implemented Interfaces:
  Distribution

    public class TriangularDist

extends ContinuousDistribution

Extends the class `ContinuousDistribution` for the triangular distribution with domain [a, b] and mode (or shape parameter) m, where a <= m <= b. The density function is

f (x) = | 2(x - a)/[(b - a)(m - a)] | for a <= x <= m,
f (x) = | 2(b - x)/[(b - a)(b - m)] | for m <= x <= b,
f (x) = | 0 | elsewhere,

the distribution function is

F(x) = | 0 | for x < a,
F(x) = | (x - a)2/[(b - a)(m - a)] | if a <= x <= m,
F(x) = | 1 - (b - x)2/[(b - a)(b - m)] | if m <= x <= b,
F(x) = | 1 | for x > b,

and the inverse distribution function is given by

F-1(u) = | a + ((b - a)(m - a)u)1/2 | if 0 <= u <= (m - a)/(b - a),
F-1(u) = | b - ((b - a)(b - m)(1 - u))1/2 | if (m - a)/(b - a <= u <= 1.

Field Summary

Fields inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
`decPrec`

Constructor Summary
`TriangularDist()` Constructs a `TriangularDist` object with default parameters a = 0, b = 1, and m = 0.5.
`TriangularDist(double m)` Constructs a `TriangularDist` object with parameters a = 0 , b = 1 and m = `m`.
`TriangularDist(double a, double b, double m)` Constructs a `TriangularDist` object with parameters a, b and m.

Method Summary
`double` | `barF(double x)` Returns the complementary distribution function.
`static double` | `barF(double a, double b, double m, double x)` Computes the complementary distribution function.
`double` | `cdf(double x)` Returns the distribution function F(x).
`static double` | `cdf(double a, double b, double m, double x)` Computes the distribution function.
`double` | `density(double x)` Returns f (x), the density evaluated at x.
`static double` | `density(double a, double b, double m, double x)` Computes the density function.
`double` | `getA()` Returns the value of a for this object.
`double` | `getB()` Returns the value of b for this object.
`double` | `getM()` Returns the value of m for this object.
`double` | `getMean()` Returns the mean.
`static double` | `getMean(double a, double b, double m)` Computes and returns the mean E[X] = (a + b + m)/3 of the triangular distribution with parameters a, b, m.
`double[]` | `getParams()` Return a table containing the parameters of the current distribution.
`double` | `getStandardDeviation()` Returns the standard deviation.
`static double` | `getStandardDeviation(double a, double b, double m)` Computes and returns the standard deviation of the triangular distribution with parameters a, b, m.
`double` | `getVariance()` Returns the variance.
`static double` | `getVariance(double a, double b, double m)` Computes and returns the variance Var[X] = (a2 + b2 + m2 - ab - am - bm)/18 of the triangular distribution with parameters a, b, m.
`double` | `inverseF(double u)` Computes and returns the inverse distribution function x = F-1(u), by calling the method `inverseBrent`.
`static double` | `inverseF(double a, double b, double m, double u)` Computes the inverse distribution function.
`void` | `setParams(double a, double b, double m)` Sets the value of the parameters a, b and m for this object.
`String` | `toString()` Returns a `String` containing information about the current distribution.

Methods inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
`inverseBisection, inverseBrent`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### TriangularDist

    public TriangularDist()

  Constructs a `TriangularDist` object with default parameters a = 0, b = 1, and m = 0.5.

### TriangularDist

    public TriangularDist(double m)

  Constructs a `TriangularDist` object with parameters a = 0 , b = 1 and m = `m`.

### TriangularDist

    public TriangularDist(double a,
                          double b,
                          double m)

  Constructs a `TriangularDist` object with parameters a, b and m.

Method Detail

### density

    public double density(double x)

  Description copied from class: `ContinuousDistribution`
  Returns f (x), the density evaluated at x.

  Specified by:
    `density` in class `ContinuousDistribution`
  Parameters:
    `x` - value at which the density is evaluated
  Returns:
    density function evaluated at `x`

### cdf

    public double cdf(double x)

  Description copied from interface: `Distribution`
  Returns the distribution function F(x).

  Parameters:
    `x` - value at which the distribution function is evaluated
  Returns:
    distribution function evaluated at `x`

### barF

    public double barF(double x)

  Description copied from class: `ContinuousDistribution`
  Returns the complementary distribution function. The default implementation computes bar(F)(x) = 1 - F(x), which is not accurate when F(x) -> 1.

  Specified by:
    `barF` in interface `Distribution`
  Overrides:
    `barF` in class `ContinuousDistribution`
  Parameters:
    `x` - value at which the complementary distribution function is evaluated
  Returns:
    complementary distribution function evaluated at `x`

### inverseF

    public double inverseF(double u)

  Description copied from class: `ContinuousDistribution`
  Computes and returns the inverse distribution function x = F-1(u), by calling the method `inverseBrent`. Restrictions: u∈[0, 1].

  Specified by:
    `inverseF` in interface `Distribution`
  Overrides:
    `inverseF` in class `ContinuousDistribution`
  Parameters:
    `u` - value at which the inverse distribution function is evaluated
  Returns:
    the inverse distribution function evaluated at `u`

### getMean

    public double getMean()

  Description copied from class: `ContinuousDistribution`
  Returns the mean.

  Specified by:
    `getMean` in interface `Distribution`
  Overrides:
    `getMean` in class `ContinuousDistribution`
  Returns:
    the mean

### getVariance

    public double getVariance()

  Description copied from class: `ContinuousDistribution`
  Returns the variance.

  Specified by:
    `getVariance` in interface `Distribution`
  Overrides:
    `getVariance` in class `ContinuousDistribution`
  Returns:
    the variance

### getStandardDeviation

    public double getStandardDeviation()

  Description copied from class: `ContinuousDistribution`
  Returns the standard deviation.

  Specified by:
    `getStandardDeviation` in interface `Distribution`
  Overrides:
    `getStandardDeviation` in class `ContinuousDistribution`
  Returns:
    the standard deviation

### density

    public static double density(double a,
                                 double b,
                                 double m,
                                 double x)

  Computes the density function.

### cdf

    public static double cdf(double a,
                             double b,
                             double m,
                             double x)

  Computes the distribution function.

### barF

    public static double barF(double a,
                              double b,
                              double m,
                              double x)

  Computes the complementary distribution function.

### inverseF

    public static double inverseF(double a,
                                  double b,
                                  double m,
                                  double u)

  Computes the inverse distribution function.

### getMean

    public static double getMean(double a,
                                 double b,
                                 double m)

  Computes and returns the mean E[X] = (a + b + m)/3 of the triangular distribution with parameters a, b, m.

  Returns:
    the mean of the triangular distribution

### getVariance

    public static double getVariance(double a,
                                     double b,
                                     double m)

  Computes and returns the variance Var[X] = (a2 + b2 + m2 - ab - am - bm)/18 of the triangular distribution with parameters a, b, m.

  Returns:
    the variance of the triangular distribution

### getStandardDeviation

    public static double getStandardDeviation(double a,
                                              double b,
                                              double m)

  Computes and returns the standard deviation of the triangular distribution with parameters a, b, m.

  Returns:
    the standard deviation of the triangular distribution

### getA

    public double getA()

  Returns the value of a for this object.

### getB

    public double getB()

  Returns the value of b for this object.

### getM

    public double getM()

  Returns the value of m for this object.

### setParams

    public void setParams(double a,
                          double b,
                          double m)

  Sets the value of the parameters a, b and m for this object.

### getParams

    public double[] getParams()

  Return a table containing the parameters of the current distribution. This table is put in regular order: [a, b, m].

### toString

    public String toString()

  Returns a `String` containing information about the current distribution.

  Overrides:
    `toString` in class `Object`

Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.