## Types in MathNet.Numerics.Distributions

Type Normal

Namespace MathNet.Numerics.Distributions

Interfaces IContinuousDistribution

### Public Constructors

#### Normal(double mean, double stddev, Random randomSource)

Initializes a new instance of the Normal class with a particular mean and standard deviation. The distribution will be initialized with the default random number generator.
##### Parameters
###### `double` mean

The mean (μ) of the normal distribution.

###### `double` stddev

The standard deviation (σ) of the normal distribution. Range: σ ≥ 0.

###### `Random` randomSource

The random number generator which is used to draw random samples.

#### Normal(Random randomSource)

Initializes a new instance of the Normal class. This is a normal distribution with mean 0.0 and standard deviation 1.0. The distribution will be initialized with the default random number generator.
##### Parameters
###### `Random` randomSource

The random number generator which is used to draw random samples.

#### Normal()

Initializes a new instance of the Normal class. This is a normal distribution with mean 0.0 and standard deviation 1.0. The distribution will be initialized with the default random number generator.

#### Normal(double mean, double stddev)

Initializes a new instance of the Normal class with a particular mean and standard deviation. The distribution will be initialized with the default random number generator.
##### Parameters
###### `double` mean

The mean (μ) of the normal distribution.

###### `double` stddev

The standard deviation (σ) of the normal distribution. Range: σ ≥ 0.

### Public Static Functions

#### doubleCDF(double mean, double stddev, double x)

Computes the cumulative distribution (CDF) of the distribution at x, i.e. P(X ≤ x).
MATLAB: normcdf
##### Parameters
###### `double` mean

The mean (μ) of the normal distribution.

###### `double` stddev

The standard deviation (σ) of the normal distribution. Range: σ ≥ 0.

###### `double` x

The location at which to compute the cumulative distribution function.

##### Return
###### `double`

the cumulative distribution at location x.

#### NormalEstimate(IEnumerable<double> samples, Random randomSource)

Estimates the normal distribution parameters from sample data with maximum-likelihood.
MATLAB: normfit
##### Parameters
###### `IEnumerable<double>` samples

The samples to estimate the distribution parameters from.

###### `Random` randomSource

The random number generator which is used to draw random samples. Optional, can be null.

##### Return
###### `Normal`

A normal distribution.

#### doubleInvCDF(double mean, double stddev, double p)

Computes the inverse of the cumulative distribution function (InvCDF) for the distribution at the given probability. This is also known as the quantile or percent point function.
MATLAB: norminv
##### Parameters
###### `double` mean

The mean (μ) of the normal distribution.

###### `double` stddev

The standard deviation (σ) of the normal distribution. Range: σ ≥ 0.

###### `double` p

The location at which to compute the inverse cumulative density.

##### Return
###### `double`

the inverse cumulative density at p.

#### boolIsValidParameterSet(double mean, double stddev)

Tests whether the provided values are valid parameters for this distribution.
##### Parameters
###### `double` mean

The mean (μ) of the normal distribution.

###### `double` stddev

The standard deviation (σ) of the normal distribution. Range: σ ≥ 0.

#### doublePDF(double mean, double stddev, double x)

Computes the probability density of the distribution (PDF) at x, i.e. ∂P(X ≤ x)/∂x.
MATLAB: normpdf
##### Parameters
###### `double` mean

The mean (μ) of the normal distribution.

###### `double` stddev

The standard deviation (σ) of the normal distribution. Range: σ ≥ 0.

###### `double` x

The location at which to compute the density.

##### Return
###### `double`

the density at x.

#### doublePDFLn(double mean, double stddev, double x)

Computes the log probability density of the distribution (lnPDF) at x, i.e. ln(∂P(X ≤ x)/∂x).
##### Parameters
###### `double` mean

The mean (μ) of the normal distribution.

###### `double` stddev

The standard deviation (σ) of the normal distribution. Range: σ ≥ 0.

###### `double` x

The location at which to compute the density.

##### Return
###### `double`

the log density at x.

#### doubleSample(Random rnd, double mean, double stddev)

Generates a sample from the normal distribution using the algorithm.
##### Parameters
###### `Random` rnd

The random number generator to use.

###### `double` mean

The mean (μ) of the normal distribution.

###### `double` stddev

The standard deviation (σ) of the normal distribution. Range: σ ≥ 0.

##### Return
###### `double`

a sample from the distribution.

#### doubleSample(double mean, double stddev)

Generates a sample from the normal distribution using the algorithm.
##### Parameters
###### `double` mean

The mean (μ) of the normal distribution.

###### `double` stddev

The standard deviation (σ) of the normal distribution. Range: σ ≥ 0.

##### Return
###### `double`

a sample from the distribution.

#### IEnumerable<double>Samples(Random rnd, double mean, double stddev)

Generates a sequence of samples from the normal distribution using the algorithm.
##### Parameters
###### `Random` rnd

The random number generator to use.

###### `double` mean

The mean (μ) of the normal distribution.

###### `double` stddev

The standard deviation (σ) of the normal distribution. Range: σ ≥ 0.

##### Return
###### `IEnumerable<double>`

a sequence of samples from the distribution.

#### voidSamples(Random rnd, Double[] values, double mean, double stddev)

Fills an array with samples generated from the distribution.
##### Parameters
###### `Random` rnd

The random number generator to use.

###### `Double[]` values

The array to fill with the samples.

###### `double` mean

The mean (μ) of the normal distribution.

###### `double` stddev

The standard deviation (σ) of the normal distribution. Range: σ ≥ 0.

##### Return
###### `void`

a sequence of samples from the distribution.

#### IEnumerable<double>Samples(double mean, double stddev)

Generates a sequence of samples from the normal distribution using the algorithm.
##### Parameters
###### `double` mean

The mean (μ) of the normal distribution.

###### `double` stddev

The standard deviation (σ) of the normal distribution. Range: σ ≥ 0.

##### Return
###### `IEnumerable<double>`

a sequence of samples from the distribution.

#### voidSamples(Double[] values, double mean, double stddev)

Fills an array with samples generated from the distribution.
##### Parameters
###### `Double[]` values

The array to fill with the samples.

###### `double` mean

The mean (μ) of the normal distribution.

###### `double` stddev

The standard deviation (σ) of the normal distribution. Range: σ ≥ 0.

##### Return
###### `void`

a sequence of samples from the distribution.

#### NormalWithMeanPrecision(double mean, double precision, Random randomSource)

Constructs a normal distribution from a mean and precision.
##### Parameters
###### `double` mean

The mean (μ) of the normal distribution.

###### `double` precision

The precision of the normal distribution.

###### `Random` randomSource

The random number generator which is used to draw random samples. Optional, can be null.

##### Return
###### `Normal`

A normal distribution.

#### NormalWithMeanStdDev(double mean, double stddev, Random randomSource)

Constructs a normal distribution from a mean and standard deviation.
##### Parameters
###### `double` mean

The mean (μ) of the normal distribution.

###### `double` stddev

The standard deviation (σ) of the normal distribution. Range: σ ≥ 0.

###### `Random` randomSource

The random number generator which is used to draw random samples. Optional, can be null.

##### Return
###### `Normal`

a normal distribution.

#### NormalWithMeanVariance(double mean, double var, Random randomSource)

Constructs a normal distribution from a mean and variance.
##### Parameters
###### `double` mean

The mean (μ) of the normal distribution.

###### `double` var

The variance (σ^2) of the normal distribution.

###### `Random` randomSource

The random number generator which is used to draw random samples. Optional, can be null.

##### Return
###### `Normal`

A normal distribution.

### Public Methods

#### doubleCumulativeDistribution(double x)

Computes the cumulative distribution (CDF) of the distribution at x, i.e. P(X ≤ x).
##### Parameters
###### `double` x

The location at which to compute the cumulative distribution function.

##### Return
###### `double`

the cumulative distribution at location x.

#### doubleDensity(double x)

Computes the probability density of the distribution (PDF) at x, i.e. ∂P(X ≤ x)/∂x.
##### Parameters
###### `double` x

The location at which to compute the density.

##### Return
###### `double`

the density at x.

#### doubleDensityLn(double x)

Computes the log probability density of the distribution (lnPDF) at x, i.e. ln(∂P(X ≤ x)/∂x).
##### Parameters
###### `double` x

The location at which to compute the log density.

##### Return
###### `double`

the log density at x.

#### doubleInverseCumulativeDistribution(double p)

Computes the inverse of the cumulative distribution function (InvCDF) for the distribution at the given probability. This is also known as the quantile or percent point function.
##### Parameters
###### `double` p

The location at which to compute the inverse cumulative density.

##### Return
###### `double`

the inverse cumulative density at p.

#### doubleSample()

Generates a sample from the normal distribution using the algorithm.
##### Return
###### `double`

a sample from the distribution.

#### voidSamples(Double[] values)

Fills an array with samples generated from the distribution.

#### IEnumerable<double>Samples()

Generates a sequence of samples from the normal distribution using the algorithm.
##### Return
###### `IEnumerable<double>`

a sequence of samples from the distribution.

#### stringToString()

A string representation of the distribution.
##### Return
###### `string`

a string representation of the distribution.

### Public Properties

#### doubleEntropy get;

Gets the entropy of the normal distribution.

#### doubleMaximum get;

Gets the maximum of the normal distribution.

#### doubleMean get;

Gets the mean (μ) of the normal distribution.

#### doubleMedian get;

Gets the median of the normal distribution.

#### doubleMinimum get;

Gets the minimum of the normal distribution.

#### doubleMode get;

Gets the mode of the normal distribution.

#### doublePrecision get;

Gets the precision of the normal distribution.

#### RandomRandomSource get; set;

Gets the random number generator which is used to draw random samples.

#### doubleSkewness get;

Gets the skewness of the normal distribution.

#### doubleStdDev get;

Gets the standard deviation (σ) of the normal distribution. Range: σ ≥ 0.

#### doubleVariance get;

Gets the variance of the normal distribution.