Struct statrs::distribution::LogNormal [] [src]

pub struct LogNormal { /* fields omitted */ }

Implements the Log-normal distribution

Examples

use statrs::distribution::{LogNormal, Continuous};
use statrs::statistics::Mean;
use statrs::prec;

let n = LogNormal::new(0.0, 1.0).unwrap();
assert_eq!(n.mean(), (0.5f64).exp());
assert!(prec::almost_eq(n.pdf(1.0), 0.3989422804014326779399, 1e-16));

Methods

impl LogNormal
[src]

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

impl Debug for LogNormal
[src]

Formats the value using the given formatter.

impl Copy for LogNormal
[src]

impl Clone for LogNormal
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl PartialEq for LogNormal
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Sample<f64> for LogNormal
[src]

Generate a random sample from a log-normal distribution using r as the source of randomness. Refer here for implementation details

impl IndependentSample<f64> for LogNormal
[src]

Generate a random independent sample from a log-normal distribution using r as the source of randomness. Refer here for implementation details

impl Distribution<f64> for LogNormal
[src]

Generate a random sample from the log-normal distribution using r as the source of randomness. Uses the Box-Muller algorithm

Examples

use rand::StdRng;
use statrs::distribution::{LogNormal, Distribution};

let mut r = rand::StdRng::new().unwrap();
let n = LogNormal::new(0.0, 1.0).unwrap();
print!("{}", n.sample::<StdRng>(&mut r));

impl Univariate<f64, f64> for LogNormal
[src]

Calculates the cumulative distribution function for the log-normal distribution at x

Panics

If x <= 0.0

Formula

(1 / 2) + (1 / 2) * erf((ln(x) - μ) / sqrt(2) * σ)

where μ is the location, σ is the scale, and erf is the error function

impl Min<f64> for LogNormal
[src]

Returns the minimum value in the domain of the log-normal distribution representable by a double precision float

Formula

0

impl Max<f64> for LogNormal
[src]

Returns the maximum value in the domain of the log-normal distribution representable by a double precision float

Formula

INF

impl Mean<f64> for LogNormal
[src]

Returns the mean of the log-normal distribution

Formula

e^(μ + σ^2 / 2)

where μ is the location and σ is the scale

impl Variance<f64> for LogNormal
[src]

Returns the variance of the log-normal distribution

Formula

(e^(σ^2) - 1) * e^( + σ^2)

where μ is the location and σ is the scale

Returns the standard deviation of the log-normal distribution

Formula

sqrt((e^(σ^2) - 1) * e^( + σ^2))

where μ is the location and σ is the scale

impl Entropy<f64> for LogNormal
[src]

Returns the entropy of the log-normal distribution

Formula

ln(σe^(μ + 1 / 2) * sqrt())

where μ is the location and σ is the scale

impl Skewness<f64> for LogNormal
[src]

Returns the skewness of the log-normal distribution

Formula

(e^(σ^2) + 2) * sqrt(e^(σ^2) - 1)

where μ is the location and σ is the scale

impl Median<f64> for LogNormal
[src]

Returns the median of the log-normal distribution

Formula

e^μ

where μ is the location

impl Mode<f64> for LogNormal
[src]

Returns the mode of the log-normal distribution

Formula

e^(μ - σ^2)

where μ is the location and σ is the scale

impl Continuous<f64, f64> for LogNormal
[src]

Calculates the probability density function for the log-normal distribution at x

Panics

If x <= 0.0

Formula

(1 /  * sqrt()) * e^(-((ln(x) - μ)^2) / ^2)

where μ is the location and σ is the scale

Calculates the log probability density function for the log-normal distribution at x

Panics

If x <= 0.0

Formula

ln((1 /  * sqrt()) * e^(-((ln(x) - μ)^2) / ^2))

where μ is the location and σ is the scale