Accelerating the pace of engineering and science

# prob.NormalDistribution class

Package: prob
Superclasses: prob.ToolboxFittableParametricDistribution

Normal probability distribution object

## Description

prob.NormalDistribution is an object consisting of parameters, a model description, and sample data for a normal probability distribution.

Create a probability distribution object with specified parameter values using makedist. Alternatively, fit a distribution to data using fitdist or the Distribution Fitting app.

## Construction

pd = makedist('Normal') creates a normal probability distribution object using the default parameter values.

pd = makedist('Normal','mu',mu,'sigma',sigma) creates a normal distribution object using the specified parameter values.

expand all

### mu — Mean0 (default) | scalar value

Mean of the normal distribution, specified as a scalar value.

Data Types: single | double

### sigma — Standard deviation1 (default) | nonnegative scalar value

Standard deviation of the normal distribution, specified as a nonnegative scalar value.

Data Types: single | double

## Properties

expand all

### mu — Meanscalar value

Mean of the normal distribution, stored as a scalar value.

Data Types: single | double

### sigma — Standard deviationnonnegative scalar value

Standard deviation of the normal distribution, stored as a nonnegative scalar value.

Data Types: single | double

### DistributionName — Probability distribution nameprobability distribution name string

Probability distribution name, stored as a valid probability distribution name string. This property is read-only.

Data Types: char

### InputData — Data used for distribution fittingstructure

Data used for distribution fitting, stored as a structure containing the following:

• data: Data vector used for distribution fitting.

• cens: Censoring vector, or empty if none.

• freq: Frequency vector, or empty if none.

Data Types: struct

### IsTruncated — Logical flag for truncated distribution0 | 1

Logical flag for truncated distribution, stored as a logical value. If IsTruncated equals 0, the distribution is not truncated. If IsTruncated equals 1, the distribution is truncated. This property is read-only.

Data Types: logical

### NumParameters — Number of parameterspositive integer value

Number of parameters for the probability distribution, stored as a positive integer value. This property is read-only.

Data Types: single | double

### ParameterCovariance — Covariance matrix of the parameter estimatesmatrix of scalar values

Covariance matrix of the parameter estimates, stored as a p-by-p matrix, where p is the number of parameters in the distribution. The (i,j) element is the covariance between the estimates of the ith parameter and the jth parameter. The (i,i) element is the estimated variance of the ith parameter. If parameter i is fixed rather than estimated by fitting the distribution to data, then the (i,i) elements of the covariance matrix are 0. This property is read-only.

Data Types: single | double

### ParameterDescription — Distribution parameter descriptionscell array of strings

Distribution parameter descriptions, stored as a cell array of strings. Each cell contains a short description of one distribution parameter. This property is read-only.

Data Types: char

### ParameterIsFixed — Logical flag for fixed parametersarray of logical values

Logical flag for fixed parameters, stored as an array of logical values. If 0, the corresponding parameter in the ParameterNames array is not fixed. If 1, the corresponding parameter in the ParameterNames array is fixed. This property is read-only.

Data Types: logical

### ParameterNames — Distribution parameter namescell array of strings

Distribution parameter names, stored as a cell array of strings. This property is read-only.

Data Types: char

### ParameterValues — Distribution parameter valuesvector of scalar values

Distribution parameter values, stored as a vector. This property is read-only.

Data Types: single | double

### Truncation — Truncation intervalvector of scalar values

Truncation interval for the probability distribution, stored as a vector containing the lower and upper truncation boundaries. This property is read-only.

Data Types: single | double

## Methods

### Inherited Methods

 cdf Cumulative distribution function of probability distribution object icdf Inverse cumulative distribution function of probability distribution object iqr Interquartile range of probability distribution object median Median of probability distribution object pdf Probability density function of probability distribution object random Generate random numbers from probability distribution object truncate Truncate probability distribution object
 mean Mean of probability distribution object negloglik Negative loglikelihood of probability distribution object paramci Confidence intervals for probability distribution parameters proflik Profile likelihood function for probability distribution object std Standard deviation of probability distribution object var Variance of probability distribution object

## Definitions

### Normal Distribution

The normal distribution, sometimes called the Gaussian distribution, is a two-parameter family of curves. The usual justification for using the normal distribution for modeling is the Central Limit theorem, which states (roughly) that the sum of independent samples from any distribution with finite mean and variance converges to the normal distribution as the sample size goes to infinity.

The normal distribution uses the following parameters.

ParameterDescriptionSupport
muMean$-\infty <\mu <\infty$
sigmaStandard deviation$\sigma \ge 0$

The probability density function (pdf) is

$f\left(x|\mu ,\sigma \right)=\frac{1}{\sigma \sqrt{2\pi }}{e}^{\frac{-{\left(x-\mu \right)}^{2}}{2{\sigma }^{2}}}\text{ },\text{ }-\infty

## Examples

expand all

### Create a Normal Distribution Object Using Default Parameters

Create a normal distribution object using the default parameter values.

`pd = makedist('Normal')`
```pd =

NormalDistribution

Normal distribution
mu = 0
sigma = 1```

### Create a Normal Distribution Object Using Specified Parameters

Create a normal distribution object by specifying the parameter values.

`pd = makedist('Normal','mu',75,'sigma',10)`
```pd =

NormalDistribution

Normal distribution
mu = 75
sigma = 10```

Compute the interquartile range of the distribution.

`r = iqr(pd)`
```r =

13.4898```

### Fit a Normal Distribution Object

Load the sample data. Create a vector containing the first column of students' exam grades data.

```load examgrades;
```

Create a normal distribution object by fitting it to the data.

`pd = fitdist(x,'Normal')`
```pd =

NormalDistribution

Normal distribution
mu = 75.0083   [73.4321, 76.5846]
sigma =  8.7202   [7.7391, 9.98843]```