Documentation Center

  • Trial Software
  • Product Updates



y = skewness(X)
y = skewness(X,flag)
y = skewness(X,flag,dim)


y = skewness(X) returns the sample skewness of X. For vectors, skewness(x) is the skewness of the elements of x. For matrices, skewness(X) is a row vector containing the sample skewness of each column. For N-dimensional arrays, skewness operates along the first nonsingleton dimension of X.

y = skewness(X,flag) specifies whether to correct for bias (flag = 0) or not (flag = 1, the default). When X represents a sample from a population, the skewness of X is biased; that is, it will tend to differ from the population skewness by a systematic amount that depends on the size of the sample. You can set flag = 0 to correct for this systematic bias.

y = skewness(X,flag,dim) takes the skewness along dimension dim of X.

skewness treats NaNs as missing values and removes them.


X = randn([5 4])
X =
  1.1650  1.6961 -1.4462 -0.3600
  0.6268  0.0591 -0.7012 -0.1356
  0.0751  1.7971  1.2460 -1.3493
  0.3516  0.2641 -0.6390 -1.2704
 -0.6965  0.8717  0.5774  0.9846

y = skewness(X)
y =
  -0.2933  0.0482  0.2735  0.4641

More About

expand all


Skewness is a measure of the asymmetry of the data around the sample mean. If skewness is negative, the data are spread out more to the left of the mean than to the right. If skewness is positive, the data are spread out more to the right. The skewness of the normal distribution (or any perfectly symmetric distribution) is zero.

The skewness of a distribution is defined as

where µ is the mean of x, σ is the standard deviation of x, and E(t) represents the expected value of the quantity t. skewness computes a sample version of this population value.

When you set flag to 1, the following equation applies:

When you set flag to 0, the following equation applies:

This bias-corrected formula requires that X contain at least three elements.

See Also

| | | |

Was this topic helpful?