SSJ
V. labo.

umontreal.iro.lecuyer.probdist
Class UniformDist

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

public class UniformDist
extends ContinuousDistribution

UniformDist

Extends the class ContinuousDistribution for the uniform distribution[#!tJOH95b!#, page 276] over the interval [a, b]. Its density is

f (x) = 1/(b - a)         for axb$\displaystyle \eqlabel$eq:funiform

and 0 elsewhere. The distribution function is

F(x) = (x - a)/(b - a)         for axb[tex2html_wrap_indisplay247]eq:cdfuniform

and its inverse is

F-1(u) = a + (b - a)u        for 0≤u≤1.[tex2html_wrap_indisplay249]eq:cdinvfuniform


Field Summary
 
Fields inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
decPrec
 
Constructor Summary
UniformDist()
          .
UniformDist(double a, double b)
          .
 
Method Summary
 double barF(double x)
          Returns the complementary distribution function.
static double barF(double a, double b, double x)
          .
 double cdf(double x)
          .
static double cdf(double a, double b, double x)
          .
 double density(double x)
          Returns f (x), the density evaluated at x.
static double density(double a, double b, double x)
          .
 double getA()
          .
 double getB()
          .
static UniformDist getInstanceFromMLE(double[] x, int n)
          .
 double getMean()
          Returns the mean.
static double getMean(double a, double b)
          .
static double[] getMLE(double[] x, int n)
          .
 double[] getParams()
          .
 double getStandardDeviation()
          Returns the standard deviation.
static double getStandardDeviation(double a, double b)
          .
 double getVariance()
          Returns the variance.
static double getVariance(double a, double b)
          .
 double inverseF(double u)
          Returns the inverse distribution function x = F-1(u).
static double inverseF(double a, double b, double u)
          .
 void setParams(double a, double b)
          .
 String toString()
          .
 
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
 

Constructor Detail

UniformDist

public UniformDist()
. \begin{tabb}Constructs a uniform distribution over the interval $(a,b) = (0,1)$.
 \end{tabb}


UniformDist

public UniformDist(double a,
                   double b)
. \begin{tabb}Constructs a uniform distribution over the interval $(a,b)$.
 \end{tabb}

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
. \begin{tabb}Returns the distribution function $F(x)$.
 \end{tabb}
xvalue at which the distribution function is evaluated 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()
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 x)
. \begin{tabb}Computes the uniform density function
 $f(x)$.
 \end{tabb}


cdf

public static double cdf(double a,
                         double b,
                         double x)
. \begin{tabb}
 Computes the uniform distribution function as in.
 \end{tabb}


barF

public static double barF(double a,
                          double b,
                          double x)
. \begin{tabb}
 Computes the uniform complementary distribution function
 $\bar{F}(x)$.
 \end{tabb}


inverseF

public static double inverseF(double a,
                              double b,
                              double u)
. \begin{tabb}
 Computes the inverse of the uniform distribution function.
 \end{tabb}


getMLE

public static double[] getMLE(double[] x,
                              int n)
. \begin{tabb}
 Estimates the parameter $(a, b)$\ of the uniform distribution
 usi...
 ...\{x_i\}.
 \end{eqnarray*} See\cite[page 300]{sLAW00a}.
 \end{detailed}\end{tabb}
xthe list of observations used to evaluate parameters nthe number of observations used to evaluate parameters returns the parameters [$ \hat{{a}}$, $ \hat{{b}}$]


getInstanceFromMLE

public static UniformDist getInstanceFromMLE(double[] x,
                                             int n)
. \begin{tabb}
 Creates a new instance of a uniform distribution with parameters $...
 ...thod based on the $n$\ observations
 $x[i]$, $i = 0, 1, \ldots, n-1$.
 \end{tabb}
xthe list of observations to use to evaluate parameters nthe number of observations to use to evaluate parameters


getMean

public static double getMean(double a,
                             double b)
. \begin{tabb}Computes and returns the mean $E[X] = (a + b)/2$
 of the uniform distribution with parameters $a$\ and $b$.
 \end{tabb}
the mean of the uniform distribution E[X] = (a + b)/2


getVariance

public static double getVariance(double a,
                                 double b)
. \begin{tabb}Computes and returns the variance $\mbox{Var}[X] = (b - a)^2/12$
 of the uniform distribution with parameters $a$\ and $b$.
 \end{tabb}
the variance of the uniform distribution Var[X] = (b - a)2/12


getStandardDeviation

public static double getStandardDeviation(double a,
                                          double b)
. \begin{tabb}Computes and returns the standard deviation
 of the uniform distribution with parameters $a$\ and $b$.
 \end{tabb}
the standard deviation of the uniform distribution


getA

public double getA()
. \begin{tabb}
 Returns the parameter $a$.
 \end{tabb}


getB

public double getB()
. \begin{tabb}
 Returns the parameter $b$.
 \end{tabb}


setParams

public void setParams(double a,
                      double b)
. \begin{tabb}
 Sets the parameters $a$\ and $b$\ for this object.
 \end{tabb}


getParams

public double[] getParams()
. \begin{tabb}
 Return a table containing the parameters of the current distribution.
 This table is put in regular order: [$a$, $b$].
 \end{tabb}

 


toString

public String toString()
. \begin{hide}
 \par
 \begin{tabb}
 Returns a \texttt{String} containing information about the current distribution.
 \end{tabb}\end{hide}

Overrides:
toString in class Object

SSJ
V. labo.

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