Accelerating the pace of engineering and science

# std

Standard deviation

## Syntax

s = std(X)
s = std(X,flag)
s = std(X,flag,dim)

## Definitions

There are two common textbook definitions for the standard deviation s of a data vector X.

$\begin{array}{l}\left(1\right)s={\left(\frac{1}{n-1}\sum _{i=1}^{n}{\left({x}_{i}-\overline{x}\right)}^{2}\right)}^{\frac{1}{2}}\hfill \\ \left(2\right)s={\left(\frac{1}{n}\sum _{i=1}^{n}{\left({x}_{i}-\overline{x}\right)}^{2}\right)}^{\frac{1}{2}},\hfill \end{array}$

where

$\overline{x}=\frac{1}{n}\sum _{i=1}^{n}{x}_{i}$

and n is the number of elements in the sample. The two forms of the equation differ only in n – 1 versus n in the divisor.

## Description

s = std(X), where X is a vector, returns the standard deviation using (1) above. The result s is the square root of an unbiased estimator of the variance of the population from which X is drawn, as long as X consists of independent, identically distributed samples.

If X is a matrix, std(X) returns a row vector containing the standard deviation of the elements of each column of X. If X is a multidimensional array, std(X) is the standard deviation of the elements along the first nonsingleton dimension of X.

s = std(X,flag) for flag = 0, is the same as std(X). For flag = 1, std(X,1) returns the standard deviation using (2) above, producing the second moment of the set of values about their mean.

s = std(X,flag,dim) computes the standard deviations along the dimension of X specified by scalar dim. Set flag to 0 to normalize Y by n-1; set flag to 1 to normalize by n.

The input array, X, must be of type double or single for all syntaxes.

## Examples

For matrix X

```X =
1     5     9
7    15    22
s = std(X,0,1)
s =
4.2426    7.0711   9.1924
s = std(X,0,2)
s =
4.000
7.5056```