pub struct Normal { /* private fields */ }
Expand description
Implements the Normal
distribution
use statrs::distribution::{Normal, Continuous};
use statrs::statistics::Distribution;
let n = Normal::new(0.0, 1.0).unwrap();
assert_eq!(n.mean().unwrap(), 0.0);
assert_eq!(n.pdf(1.0), 0.2419707245191433497978);
Constructs a new normal distribution with a mean of mean
and a standard deviation of std_dev
Returns an error if mean
or std_dev
are NaN
or if
std_dev <= 0.0
use statrs::distribution::Normal;
let mut result = Normal::new(0.0, 1.0);
assert!(result.is_ok());
result = Normal::new(0.0, 0.0);
assert!(result.is_err());
Performs copy-assignment from source
. Read more
Calculates the probability density function for the normal distribution
at x
(1 / sqrt(2σ^2 * π)) * e^(-(x - μ)^2 / 2σ^2)
where μ
is the mean and σ
is the standard deviation
Calculates the log probability density function for the normal
distribution
at x
ln((1 / sqrt(2σ^2 * π)) * e^(-(x - μ)^2 / 2σ^2))
where μ
is the mean and σ
is the standard deviation
Calculates the cumulative distribution function for the
normal distribution at x
(1 / 2) * (1 + erf((x - μ) / (σ * sqrt(2))))
where μ
is the mean, σ
is the standard deviation, and
erf
is the error function
Calculates the inverse cumulative distribution function for the
normal distribution at x
If x < 0.0
or x > 1.0
μ - sqrt(2) * σ * erfc_inv(2x)
where μ
is the mean, σ
is the standard deviation and erfc_inv
is
the inverse of the complementary error function
Formats the value using the given formatter. Read more
Generate a random value of T
, using rng
as the source of randomness.
Create an iterator that generates random values of T
, using rng
as
the source of randomness. Read more
Create a distribution of values of ‘S’ by mapping the output of Self
through the closure F
Read more
Returns the mean of the normal distribution
This is the same mean used to construct the distribution
Returns the variance of the normal distribution
where σ
is the standard deviation
Returns the entropy of the normal distribution
(1 / 2) * ln(2σ^2 * π * e)
where σ
is the standard deviation
Returns the skewness of the normal distribution
Returns the standard deviation, if it exists. Read more
Returns the maximum value in the domain of the
normal distribution representable by a double precision float
Returns the median of the normal distribution
where μ
is the mean
Returns the minimum value in the domain of the
normal distribution representable by a double precision float
Returns the mode of the normal distribution
where μ
is the mean
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
impl<T> Any for T where
T: 'static + ?Sized,
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
impl<T, U> Into<U> for T where
U: From<T>,
Performance hack: Clone doesn’t get inlined for Copy types in debug mode, so make it inline anyway.
Tests if Self
the same as the type T
Read more
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
Checks if self
is actually part of its subset T
(and can be converted to it).
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
The inclusion map: converts self
to the equivalent element of its superset.
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
The type returned in the event of a conversion error.