public class UniformRealDistribution extends AbstractRealDistribution
Modifier and Type | Field and Description |
---|---|
static double |
DEFAULT_INVERSE_ABSOLUTE_ACCURACY
Default inverse cumulative probability accuracy.
|
random, SOLVER_DEFAULT_ABSOLUTE_ACCURACY
Constructor and Description |
---|
UniformRealDistribution()
Create a standard uniform real distribution with lower bound (inclusive)
equal to zero and upper bound (exclusive) equal to one.
|
UniformRealDistribution(double lowerIn,
double upperIn)
Create a uniform real distribution using the given lower and upper
bounds.
|
UniformRealDistribution(double lowerIn,
double upperIn,
double inverseCumAccuracyIn)
Create a uniform distribution.
|
UniformRealDistribution(RandomGenerator rng,
double lowerIn,
double upperIn,
double inverseCumAccuracy)
Creates a uniform distribution.
|
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 |
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.
|
protected double |
getSolverAbsoluteAccuracy()
Returns the solver absolute accuracy for inverse cumulative computation.
|
double |
getSupportLowerBound()
Access the lower bound of the support.
|
double |
getSupportUpperBound()
Access the upper bound of the support.
|
boolean |
isSupportConnected()
Use this method to get information about whether the support is connected,
i.e. whether all values between the lower and upper bound of the support
are included in the support.
|
boolean |
isSupportLowerBoundInclusive()
Returns true if support contains lower bound.
|
boolean |
isSupportUpperBoundInclusive()
Returns true if support contains upper bound.
|
double |
sample()
Generate a random value sampled from this distribution.
|
inverseCumulativeProbability, probability, probability, reseedRandomGenerator, sample
public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY
public UniformRealDistribution()
public UniformRealDistribution(double lowerIn, double upperIn)
lowerIn
- Lower bound of this distribution (inclusive).upperIn
- Upper bound of this distribution (exclusive).NumberIsTooLargeException
- if lower >= upper
.public UniformRealDistribution(double lowerIn, double upperIn, double inverseCumAccuracyIn)
lowerIn
- Lower bound of this distribution (inclusive).upperIn
- Upper bound of this distribution (exclusive).inverseCumAccuracyIn
- Inverse cumulative probability accuracy.NumberIsTooLargeException
- if lower >= upper
.public UniformRealDistribution(RandomGenerator rng, double lowerIn, double upperIn, double inverseCumAccuracy)
rng
- Random number generator.lowerIn
- Lower bound of this distribution (inclusive).upperIn
- Upper bound of this distribution (exclusive).inverseCumAccuracy
- Inverse cumulative probability accuracy.NumberIsTooLargeException
- if lower >= upper
.public 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.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.x
- the point at which the CDF is evaluatedx
protected double getSolverAbsoluteAccuracy()
getSolverAbsoluteAccuracy
in class AbstractRealDistribution
public double getNumericalMean()
lower
and upper bound upper
, the mean is 0.5 * (lower + upper)
.Double.NaN
if it is not definedpublic double getNumericalVariance()
lower
and upper bound upper
, the
variance is (upper - lower)^2 / 12
.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}
.
public double getSupportUpperBound()
inverseCumulativeProbability(1)
. In other words, this
method must return
inf {x in R | P(X <= x) = 1}
.
public boolean isSupportLowerBoundInclusive()
public boolean isSupportUpperBoundInclusive()
public boolean isSupportConnected()
true
public double sample()
sample
in interface RealDistribution
sample
in class AbstractRealDistribution
Copyright © 2021 CNES. All rights reserved.