SSJ
V. 2.6.

umontreal.iro.lecuyer.probdist
Class TruncatedDist

java.lang.Object
  extended by umontreal.iro.lecuyer.probdist.ContinuousDistribution
      extended by umontreal.iro.lecuyer.probdist.TruncatedDist
All Implemented Interfaces:
Distribution

public class TruncatedDist
extends ContinuousDistribution

This container class takes an arbitrary continuous distribution and truncates it to an interval [a, b], where a and b can be finite or infinite. If the original density and distribution function are f0 and F0, the new ones are f and F, defined by

f (x) = f0(x)/(F0(b) - F0(a))         for a <= x <= b

and f (x) = 0 elsewhere, and

F(x) = (F0(x) - F0(a))/(F0(b) - F0(a))         for a <= x <= b.

The inverse distribution function of the truncated distribution is

F-1(u) = F0-1(F0(a) + (F0(b) - F0(a))u)

where F0-1 is the inverse distribution function of the original distribution.


Field Summary
static int NUMINTERVALS
           
 
Fields inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
decPrec
 
Constructor Summary
TruncatedDist(ContinuousDistribution dist, double a, double b)
          Constructs a new distribution by truncating distribution dist to the interval [a, b].
 
Method Summary
 double barF(double x)
          Returns the complementary distribution function.
 double cdf(double x)
          Returns the distribution function F(x).
 double density(double x)
          Returns f (x), the density evaluated at x.
 double getA()
          Returns the value of a.
 double getArea()
          Returns the value of F0(b) - F0(a), the area under the truncated density function.
 double getB()
          Returns the value of b.
 double getFa()
          Returns the value of F0(a).
 double getFb()
          Returns the value of F0(b).
 double getMean()
          Returns an approximation of the mean computed with the Simpson 1/3 numerical integration rule.
 double[] getParams()
          Return a table containing the parameters of the current distribution.
 double getStandardDeviation()
          Returns the square root of the approximate variance.
 double getVariance()
          Returns an approximation of the variance computed with the Simpson 1/3 numerical integration rule.
 double inverseF(double u)
          Returns the inverse distribution function x = F-1(u).
 void setParams(ContinuousDistribution dist, double a, double b)
          Sets the parameters dist, a and b for this object.
 String toString()
          Returns a String containing information about the current distribution.
 
Methods inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
getXinf, getXsup, inverseBisection, inverseBrent, setXinf, setXsup
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NUMINTERVALS

public static int NUMINTERVALS
Constructor Detail

TruncatedDist

public TruncatedDist(ContinuousDistribution dist,
                     double a,
                     double b)
Constructs a new distribution by truncating distribution dist to the interval [a, b]. Restrictions: a and b must be finite.

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).

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
Returns the inverse distribution function x = F-1(u). 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()
Returns an approximation of the mean computed with the Simpson 1/3 numerical integration rule.

Specified by:
getMean in interface Distribution
Overrides:
getMean in class ContinuousDistribution
Returns:
the mean
Throws:
UnsupportedOperationException - the mean of the truncated distribution is unknown

getVariance

public double getVariance()
Returns an approximation of the variance computed with the Simpson 1/3 numerical integration rule.

Specified by:
getVariance in interface Distribution
Overrides:
getVariance in class ContinuousDistribution
Returns:
the variance
Throws:
UnsupportedOperationException - the mean of the truncated distribution is unknown

getStandardDeviation

public double getStandardDeviation()
Returns the square root of the approximate variance.

Specified by:
getStandardDeviation in interface Distribution
Overrides:
getStandardDeviation in class ContinuousDistribution
Returns:
the standard deviation
Throws:
UnsupportedOperationException - the mean of the truncated distribution is unknown

getA

public double getA()
Returns the value of a.


getB

public double getB()
Returns the value of b.


getFa

public double getFa()
Returns the value of F0(a).


getFb

public double getFb()
Returns the value of F0(b).


getArea

public double getArea()
Returns the value of F0(b) - F0(a), the area under the truncated density function.


setParams

public void setParams(ContinuousDistribution dist,
                      double a,
                      double b)
Sets the parameters dist, a and b for this object. See the constructor for details.


getParams

public double[] getParams()
Return a table containing the parameters of the current distribution. This table is put in order: [a, b, F0(a), F0(b), F0(b) - F0(a)].


toString

public String toString()
Returns a String containing information about the current distribution.

Overrides:
toString in class Object

SSJ
V. 2.6.

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