# Normal

Normal distribution constructor.

## Usage

``````var Normal = require( '@stdlib/math/base/dists/normal/ctor' );
``````

#### Normal( [mu, sigma] )

Returns a normal distribution object.

``````var normal = new Normal();

var mu = normal.mean;
// returns 0.0
``````

By default, `mu = 0.0` and `sigma = 1.0`. To create a distribution having a different `mu` (mean parameter) and `sigma` (standard deviation), provide parameter values.

``````var normal = new Normal( 2.0, 4.0 );

var mu = normal.mean;
// returns 2.0
``````

## normal

A normal distribution object has the following properties and methods...

### Writable Properties

#### normal.mu

Mean parameter of the distribution.

``````var normal = new Normal();

var mu = normal.mu;
// returns 0.0

normal.mu = 3.0;

mu = normal.mu;
// returns 3.0
``````

#### normal.sigma

Standard deviation of the distribution. `sigma` must be a positive number.

``````var normal = new Normal( 2.0, 4.0 );

var sigma = normal.sigma;
// returns 4.0

normal.sigma = 3.0;

sigma = normal.sigma;
// returns 3.0
``````

### Computed Properties

#### Normal.prototype.entropy

Returns the differential entropy.

``````var normal = new Normal( 4.0, 12.0 );

var entropy = normal.entropy;
// returns ~3.903
``````

#### Normal.prototype.kurtosis

Returns the excess kurtosis.

``````var normal = new Normal( 4.0, 12.0 );

var kurtosis = normal.kurtosis;
// returns 0.0
``````

#### Normal.prototype.mean

Returns the expected value.

``````var normal = new Normal( 4.0, 12.0 );

var mu = normal.mean;
// returns 4.0
``````

#### Normal.prototype.median

Returns the median.

``````var normal = new Normal( 4.0, 12.0 );

var median = normal.median;
// returns 4.0
``````

#### Normal.prototype.mode

Returns the mode.

``````var normal = new Normal( 4.0, 12.0 );

var mode = normal.mode;
// returns 4.0
``````

#### Normal.prototype.skewness

Returns the skewness.

``````var normal = new Normal( 4.0, 12.0 );

var skewness = normal.skewness;
// returns 0.0
``````

#### Normal.prototype.stdev

Returns the standard deviation.

``````var normal = new Normal( 4.0, 12.0 );

var s = normal.stdev;
// returns 12.0
``````

#### Normal.prototype.variance

Returns the variance.

``````var normal = new Normal( 4.0, 12.0 );

var s2 = normal.variance;
// returns 144.0
``````

### Methods

#### Normal.prototype.cdf( x )

Evaluates the cumulative distribution function (CDF).

``````var normal = new Normal( 2.0, 4.0 );

var y = normal.cdf( 0.5 );
// returns ~0.354
``````

#### Normal.prototype.logpdf( x )

Evaluates the natural logarithm of the probability density function (PDF).

``````var normal = new Normal( 2.0, 4.0 );

var y = normal.logpdf( 2.0 );
// returns ~-2.303
``````

#### Normal.prototype.mgf( t )

Evaluates the moment-generating function (MGF).

``````var normal = new Normal( 2.0, 4.0 );

var y = normal.mgf( 0.2 );
// returns ~2.054
``````

#### Normal.prototype.pdf( x )

Evaluates the probability density function (PDF).

``````var normal = new Normal( 2.0, 4.0 );

var y = normal.pdf( 2.0 );
// returns ~0.1
``````

#### Normal.prototype.quantile( p )

Evaluates the quantile function at probability `p`.

``````var normal = new Normal( 2.0, 4.0 );

var y = normal.quantile( 0.5 );
// returns 2.0

y = quantile( 1.9 );
// returns NaN
``````

## Examples

``````var Normal = require( '@stdlib/math/base/dists/normal/ctor' );

var normal = new Normal( 2.0, 4.0 );

var mean = normal.mean;
// returns 2.0

var median = normal.median;
// returns 2.0

var s2 = normal.variance;
// returns 16.0

var y = normal.cdf( 0.8 );
// returns ~0.382
``````