public class NormalDistributionImpl extends AbstractContinuousDistribution implements NormalDistribution, java.io.Serializable
NormalDistribution
.Modifier and Type | Field and Description |
---|---|
static double |
DEFAULT_INVERSE_ABSOLUTE_ACCURACY
Default inverse cumulative probability accuracy
|
Constructor and Description |
---|
NormalDistributionImpl()
Creates normal distribution with the mean equal to zero and standard
deviation equal to one.
|
NormalDistributionImpl(double mean,
double sd)
Create a normal distribution using the given mean and standard deviation.
|
NormalDistributionImpl(double mean,
double sd,
double inverseCumAccuracy)
Create a normal distribution using the given mean, standard deviation and
inverse cumulative distribution accuracy.
|
Modifier and Type | Method and Description |
---|---|
double |
cumulativeProbability(double x)
For this distribution, X, this method returns P(X <
x ). |
double |
density(double x)
Returns the probability density for a particular point.
|
double |
density(java.lang.Double x)
Deprecated.
|
double |
getMean()
Access the mean.
|
double |
getNumericalVariance()
Returns the variance.
|
double |
getStandardDeviation()
Access the standard deviation.
|
double |
getSupportLowerBound()
Returns the lower bound of the support for the distribution.
|
double |
getSupportUpperBound()
Returns the upper bound of the support for the distribution.
|
double |
inverseCumulativeProbability(double p)
For this distribution, X, this method returns the critical point x, such
that P(X < x) =
p . |
double |
sample()
Generates a random value sampled from this distribution.
|
void |
setMean(double mean)
Deprecated.
as of 2.1 (class will become immutable in 3.0)
|
void |
setStandardDeviation(double sd)
Deprecated.
as of 2.1 (class will become immutable in 3.0)
|
reseedRandomGenerator, sample
cumulativeProbability
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
cumulativeProbability
public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY
public NormalDistributionImpl(double mean, double sd)
mean
- mean for this distributionsd
- standard deviation for this distributionpublic NormalDistributionImpl(double mean, double sd, double inverseCumAccuracy)
mean
- mean for this distributionsd
- standard deviation for this distributioninverseCumAccuracy
- inverse cumulative probability accuracypublic NormalDistributionImpl()
public double getMean()
getMean
in interface NormalDistribution
@Deprecated public void setMean(double mean)
setMean
in interface NormalDistribution
mean
- for this distributionpublic double getStandardDeviation()
getStandardDeviation
in interface NormalDistribution
@Deprecated public void setStandardDeviation(double sd)
setStandardDeviation
in interface NormalDistribution
sd
- standard deviation for this distributionjava.lang.IllegalArgumentException
- if sd
is not positive.@Deprecated public double density(java.lang.Double x)
density
in interface HasDensity<java.lang.Double>
density
in interface NormalDistribution
x
- The point at which the density should be computed.public double density(double x)
density
in class AbstractContinuousDistribution
x
- The point at which the density should be computed.public double cumulativeProbability(double x) throws MathException
x
).
If x
is more than 40 standard deviations from the mean, 0 or 1 is returned,
as in these cases the actual value is within Double.MIN_VALUE
of 0 or 1.cumulativeProbability
in interface Distribution
x
- the value at which the CDF is evaluated.x
.MathException
- if the algorithm fails to convergepublic double inverseCumulativeProbability(double p) throws MathException
p
.
Returns Double.NEGATIVE_INFINITY
for p=0 and
Double.POSITIVE_INFINITY
for p=1.
inverseCumulativeProbability
in interface ContinuousDistribution
inverseCumulativeProbability
in class AbstractContinuousDistribution
p
- the desired probabilityp
MathException
- if the inverse cumulative probability can not be
computed due to convergence or other numerical errors.java.lang.IllegalArgumentException
- if p
is not a valid
probability.public double sample() throws MathException
sample
in class AbstractContinuousDistribution
MathException
- if an error occurs generating the random valuepublic double getSupportLowerBound()
public double getSupportUpperBound()
public double getNumericalVariance()
s
,
the variance is s^2
"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"