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

`pub struct Normal { /* fields omitted */ }`
Expand description

Implements the Normal distribution

# Examples

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

## Implementations

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

Returns a copy of the value. Read more

Performs copy-assignment from `source`. Read more

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

# Formula

`(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`

# Formula

`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`

# Formula

`(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`

# Panics

If `x < 0.0` or `x > 1.0`

# Formula

`μ - 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

Returns the mean of the normal distribution

# Remarks

This is the same mean used to construct the distribution

Returns the variance of the normal distribution

# Formula

`σ^2`

where `σ` is the standard deviation

Returns the entropy of the normal distribution

# Formula

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

where `σ` is the standard deviation

Returns the skewness of the normal distribution

# Formula

`0`

Returns the standard deviation, if it exists. 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 maximum value in the domain of the normal distribution representable by a double precision float

# Formula

`INF`

Returns the median of the normal distribution

# Formula

`μ`

where `μ` is the mean

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

# Formula

`-INF`

Returns the mode of the normal distribution

# Formula

`μ`

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 `!=`.

## Blanket Implementations

Gets the `TypeId` of `self`. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

Should always be `Self`

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`)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.