Struct statrs::distribution::Normal [] [src]

pub struct Normal { /* fields omitted */ }

Implements the Normal distribution

Examples

use statrs::distribution::{Normal, Continuous};
use statrs::statistics::Mean;

let n = Normal::new(0.0, 1.0).unwrap();
assert_eq!(n.mean(), 0.0);
assert_eq!(n.pdf(1.0), 0.2419707245191433497978);

Methods

impl Normal
[src]

Constructs a new normal distribution with a mean of mean and a standard deviation of std_dev

Errors

Returns an error if mean or std_dev are NaN or if std_dev <= 0.0

Examples

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());

Trait Implementations

impl Debug for Normal
[src]

Formats the value using the given formatter.

impl Copy for Normal
[src]

impl Clone for Normal
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl PartialEq for Normal
[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 Normal
[src]

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

impl IndependentSample<f64> for Normal
[src]

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

impl Distribution<f64> for Normal
[src]

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

Examples

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

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

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

Calculates the cumulative distribution function for the normal distribution at x

Formula

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

where μ is the mean, σ is the standard deviation, and erf is the error function

impl Min<f64> for Normal
[src]

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

Formula

-INF

impl Max<f64> for Normal
[src]

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

Formula

INF

impl Mean<f64> for Normal
[src]

Returns the mean of the normal distribution

Remarks

This is the same mean used to construct the distribution

impl Variance<f64> for Normal
[src]

Returns the variance of the normal distribution

Formula

σ^2

where σ is the standard deviation

Returns the standard deviation of the normal distribution

Remarks

This is the same standard deviation used to construct the distribution

impl Entropy<f64> for Normal
[src]

Returns the entropy of the normal distribution

Formula

(1 / 2) * ln(^2 * π * e)

where σ is the standard deviation

impl Skewness<f64> for Normal
[src]

Returns the skewness of the normal distribution

Formula

0

impl Median<f64> for Normal
[src]

Returns the median of the normal distribution

Formula

μ

where μ is the mean

impl Mode<f64> for Normal
[src]

Returns the mode of the normal distribution

Formula

μ

where μ is the mean

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

Calculates the probability density function for the normal distribution at x

Formula

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

where μ is the mean and σ is the standard deviation

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

Formula

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

where μ is the mean and σ is the standard deviation