Standard deviation


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


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

(1) s=(1n1i=1n(xix¯)2)12(2) s=(1ni=1n(xix¯)2)12,



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.


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.


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 = 

See Also

| | | |

Was this topic helpful?