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

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]

pub fn new(location: f64, scale: f64) -> Result<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 Distribution<f64> for LogNormal[src]

fn sample<R: Rng>(&self, r: &mut R) -> f64[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]

fn cdf(&self, x: f64) -> f64[src]

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

Formula

This example is not tested
(1 / 2) + (1 / 2) * erf((ln(x) - μ) / sqrt(2) * σ)

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

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

fn pdf(&self, x: f64) -> f64[src]

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

Formula

This example is not tested
(1 /  * sqrt()) * e^(-((ln(x) - μ)^2) / ^2)

where μ is the location and σ is the scale

fn ln_pdf(&self, x: f64) -> f64[src]

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

Formula

This example is not tested
ln((1 /  * sqrt()) * e^(-((ln(x) - μ)^2) / ^2))

where μ is the location and σ is the scale

impl Min<f64> for LogNormal[src]

fn min(&self) -> f64[src]

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

Formula

This example is not tested
0

impl Max<f64> for LogNormal[src]

fn max(&self) -> f64[src]

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

Formula

This example is not tested
INF

impl Mean<f64> for LogNormal[src]

fn mean(&self) -> f64[src]

Returns the mean of the log-normal distribution

Formula

This example is not tested
e^(μ + σ^2 / 2)

where μ is the location and σ is the scale

impl Variance<f64> for LogNormal[src]

fn variance(&self) -> f64[src]

Returns the variance of the log-normal distribution

Formula

This example is not tested
(e^(σ^2) - 1) * e^( + σ^2)

where μ is the location and σ is the scale

fn std_dev(&self) -> f64[src]

Returns the standard deviation of the log-normal distribution

Formula

This example is not tested
sqrt((e^(σ^2) - 1) * e^( + σ^2))

where μ is the location and σ is the scale

impl Entropy<f64> for LogNormal[src]

fn entropy(&self) -> f64[src]

Returns the entropy of the log-normal distribution

Formula

This example is not tested
ln(σe^(μ + 1 / 2) * sqrt())

where μ is the location and σ is the scale

impl Skewness<f64> for LogNormal[src]

fn skewness(&self) -> f64[src]

Returns the skewness of the log-normal distribution

Formula

This example is not tested
(e^(σ^2) + 2) * sqrt(e^(σ^2) - 1)

where μ is the location and σ is the scale

impl Median<f64> for LogNormal[src]

fn median(&self) -> f64[src]

Returns the median of the log-normal distribution

Formula

This example is not tested
e^μ

where μ is the location

impl Mode<f64> for LogNormal[src]

fn mode(&self) -> f64[src]

Returns the mode of the log-normal distribution

Formula

This example is not tested
e^(μ - σ^2)

where μ is the location and σ is the scale

impl Copy for LogNormal[src]

impl Clone for LogNormal[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl PartialEq<LogNormal> for LogNormal[src]

impl Debug for LogNormal[src]

impl IndependentSample<f64> for LogNormal[src]

fn ind_sample<R: Rng>(&self, r: &mut R) -> f64[src]

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

impl Sample<f64> for LogNormal[src]

fn sample<R: Rng>(&mut self, r: &mut R) -> f64[src]

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

Auto Trait Implementations

impl Send for LogNormal

impl Unpin for LogNormal

impl Sync for LogNormal

impl UnwindSafe for LogNormal

impl RefUnwindSafe for LogNormal

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]