Struct statrs::distribution::LogNormal
source · [−]pub struct LogNormal { /* private fields */ }
Expand description
Implements the Log-normal distribution
Examples
use statrs::distribution::{LogNormal, Continuous};
use statrs::statistics::Distribution;
use statrs::prec;
let n = LogNormal::new(0.0, 1.0).unwrap();
assert_eq!(n.mean().unwrap(), (0.5f64).exp());
assert!(prec::almost_eq(n.pdf(1.0), 0.3989422804014326779399, 1e-16));
Implementations
Constructs a new log-normal distribution with a location of location
and a scale of scale
Errors
Returns an error if location
or scale
are NaN
.
Returns an error if scale <= 0.0
Examples
use statrs::distribution::LogNormal;
let mut result = LogNormal::new(0.0, 1.0);
assert!(result.is_ok());
result = LogNormal::new(0.0, 0.0);
assert!(result.is_err());
Trait Implementations
Calculates the probability density function for the log-normal
distribution at x
Formula
(1 / xσ * sqrt(2π)) * e^(-((ln(x) - μ)^2) / 2σ^2)
where μ
is the location and σ
is the scale
Calculates the cumulative distribution function for the log-normal
distribution
at x
Formula
(1 / 2) + (1 / 2) * erf((ln(x) - μ) / sqrt(2) * σ)
where μ
is the location, σ
is the scale, and erf
is the
error function
Due to issues with rounding and floating-point accuracy the default
implementation may be ill-behaved.
Specialized inverse cdfs should be used whenever possible.
Performs a binary search on the domain of cdf
to obtain an approximation
of F^-1(p) := inf { x | F(x) >= p }
. Needless to say, performance may
may be lacking. 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
Returns the mean of the log-normal distribution
Formula
e^(μ + σ^2 / 2)
where μ
is the location and σ
is the scale
Returns the variance of the log-normal distribution
Formula
(e^(σ^2) - 1) * e^(2μ + σ^2)
where μ
is the location and σ
is the scale
Returns the entropy of the log-normal distribution
Formula
ln(σe^(μ + 1 / 2) * sqrt(2π))
where μ
is the location and σ
is the scale
Returns the skewness of the log-normal distribution
Formula
(e^(σ^2) + 2) * sqrt(e^(σ^2) - 1)
where μ
is the location and σ
is the scale
Auto Trait Implementations
impl RefUnwindSafe for LogNormal
impl UnwindSafe for LogNormal
Blanket Implementations
Mutably borrows from an owned value. 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.