Main Content

NormalDistribution

Normal probability distribution object

Description

A NormalDistribution object consists of parameters, a model description, and sample data for a normal probability 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
mu (μ)Mean<μ<
sigma (σ)Standard deviationσ0

Creation

There are several ways to create a NormalDistribution probability distribution object.

  • Create a distribution with specified parameter values using makedist.

  • Fit a distribution to data using fitdist.

  • Interactively fit a distribution to data using the Distribution Fitter app.

Properties

expand all

Distribution Parameters

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

Data Types: single | double

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

You can specify sigma to be zero when you create an object by using makedist. Some object functions support an object pd with zero standard deviation. For example, random(pd) always returns mu, and cdf(pd,x) returns either 0 or 1. The output is 0 if x is smaller than mu, and 1 otherwise. mean, std, and var return the mean, standard deviation, and variance of pd, respectively.

Data Types: single | double

Distribution Characteristics

This property is read-only.

Logical flag for truncated distribution, specified as a logical value. If IsTruncated equals 0, the distribution is not truncated. If IsTruncated equals 1, the distribution is truncated.

Data Types: logical

This property is read-only.

Number of parameters for the probability distribution, specified as a positive integer value.

Data Types: double

This property is read-only.

Covariance matrix of the parameter estimates, specified 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.

Data Types: double

This property is read-only.

Logical flag for fixed parameters, specified 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.

Data Types: logical

This property is read-only.

Distribution parameter values, specified as a vector of scalar values.

Data Types: single | double

This property is read-only.

Truncation interval for the probability distribution, specified as a vector of scalar values containing the lower and upper truncation boundaries.

Data Types: single | double

Other Object Properties

This property is read-only.

Probability distribution name, specified as a character vector.

Data Types: char

This property is read-only.

Data used for distribution fitting, specified 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

This property is read-only.

Distribution parameter descriptions, specified as a cell array of character vectors. Each cell contains a short description of one distribution parameter.

Data Types: char

This property is read-only.

Distribution parameter names, specified as a cell array of character vectors.

Data Types: char

Object Functions

cdfCumulative distribution function
gatherGather properties of Statistics and Machine Learning Toolbox object from GPU
icdfInverse cumulative distribution function
iqrInterquartile range of probability distribution
meanMean of probability distribution
medianMedian of probability distribution
negloglikNegative loglikelihood of probability distribution
paramciConfidence intervals for probability distribution parameters
pdfProbability density function
plotPlot probability distribution object
proflikProfile likelihood function for probability distribution
randomRandom numbers
stdStandard deviation of probability distribution
truncateTruncate probability distribution object
varVariance of probability distribution

Examples

collapse all

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

Load the sample data and create a vector containing the first column of student exam grade data.

load examgrades
x = grades(:,1);

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]

The intervals next to the parameter estimates are the 95% confidence intervals for the distribution parameters.

Extended Capabilities

Version History

Introduced in R2013a