public class TriangularDistribution extends AbstractRealDistribution
DEFAULT_SOLVER_ABSOLUTE_ACCURACY
Constructor and Description |
---|
TriangularDistribution(double a,
double c,
double b)
Creates a triangular real distribution using the given lower limit,
upper limit, and mode.
|
Modifier and Type | Method and Description |
---|---|
double |
cumulativeProbability(double x)
For a random variable
X whose values are distributed according
to this distribution, this method returns P(X <= x) . |
double |
density(double x)
Returns the probability density function (PDF) of this distribution
evaluated at the specified point
x . |
double |
getMode()
Returns the mode
c of this distribution. |
double |
getNumericalMean()
Use this method to get the numerical value of the mean of this
distribution.
|
double |
getNumericalVariance()
Use this method to get the numerical value of the variance of this
distribution.
|
double |
getSupportLowerBound()
Access the lower bound of the support.
|
double |
getSupportUpperBound()
Access the upper bound of the support.
|
double |
inverseCumulativeProbability(double p)
Computes the quantile function of this distribution.
|
boolean |
isSupportConnected()
Use this method to get information about whether the support is connected,
i.e.
|
getSolverAbsoluteAccuracy, logDensity, probability
public TriangularDistribution(double a, double c, double b) throws MathIllegalArgumentException
a
- Lower limit of this distribution (inclusive).b
- Upper limit of this distribution (inclusive).c
- Mode of this distribution.MathIllegalArgumentException
- if a >= b
or if c > b
.MathIllegalArgumentException
- if c < a
.public double getMode()
c
of this distribution.c
of this distributionpublic double density(double x)
x
. In general, the PDF is
the derivative of the CDF
.
If the derivative does not exist at x
, then an appropriate
replacement should be returned, e.g. Double.POSITIVE_INFINITY
,
Double.NaN
, or the limit inferior or limit superior of the
difference quotient.
For lower limit a
, upper limit b
and mode c
, the
PDF is given by
2 * (x - a) / [(b - a) * (c - a)]
if a <= x < c
,2 / (b - a)
if x = c
,2 * (b - x) / [(b - a) * (b - c)]
if c < x <= b
,0
otherwise.
x
- the point at which the PDF is evaluatedx
public double cumulativeProbability(double x)
X
whose values are distributed according
to this distribution, this method returns P(X <= x)
. In other
words, this method represents the (cumulative) distribution function
(CDF) for this distribution.
For lower limit a
, upper limit b
and mode c
, the
CDF is given by
0
if x < a
,(x - a)^2 / [(b - a) * (c - a)]
if a <= x < c
,(c - a) / (b - a)
if x = c
,1 - (b - x)^2 / [(b - a) * (b - c)]
if c < x <= b
,1
if x > b
.x
- the point at which the CDF is evaluatedx
public double getNumericalMean()
a
, upper limit b
, and mode c
,
the mean is (a + b + c) / 3
.Double.NaN
if it is not definedpublic double getNumericalVariance()
a
, upper limit b
, and mode c
,
the variance is (a^2 + b^2 + c^2 - a * b - a * c - b * c) / 18
.Double.POSITIVE_INFINITY
as
for certain cases in TDistribution
)
or Double.NaN
if it is not definedpublic double getSupportLowerBound()
inverseCumulativeProbability(0)
. In other words, this
method must return
inf {x in R | P(X <= x) > 0}
.
a
of the distribution.public double getSupportUpperBound()
inverseCumulativeProbability(1)
. In other words, this
method must return
inf {x in R | P(X <= x) = 1}
.
b
of the distribution.public boolean isSupportConnected()
true
public double inverseCumulativeProbability(double p) throws MathIllegalArgumentException
X
distributed according to this distribution, the
returned value is
inf{x in R | P(X<=x) >= p}
for 0 < p <= 1
,inf{x in R | P(X<=x) > 0}
for p = 0
.RealDistribution.getSupportLowerBound()
for p = 0
,RealDistribution.getSupportUpperBound()
for p = 1
.inverseCumulativeProbability
in interface RealDistribution
inverseCumulativeProbability
in class AbstractRealDistribution
p
- the cumulative probabilityp
-quantile of this distribution
(largest 0-quantile for p = 0
)MathIllegalArgumentException
- if p < 0
or p > 1
Copyright © 2016 Hipparchus.org. All rights reserved.