cov() - Signal Processing
C = cov(A) returns
the covariance. If A is a vector of observations, C is
the scalar-valued variance.If A is a matrix whose columns
represent random variables and whose rows represent observations, C is
the covariance matrix with the corresponding column variances along
the diagonal.C is normalized by the number of
observations-1. If there is only one observation,
it is normalized by 1.If A is a scalar, cov(A) returns 0.
If A is an empty array, cov(A)returns NaN.exampleC = cov(A,B) returns
the covariance between two random variables A and B. If A and B are
vectors of observations with equal length, cov(A,B) is
the 2-by-2 covariance matrix.If A and B are
matrices of observations, cov(A,B) treats A and B as
vectors and is equivalent to cov(A(:),B(:)). A and B must
have equal size.If A and B are
scalars, cov(A,B) returns a 2-by-2 block
of zeros. If A and B are empty
arrays, cov(A,B) returns a 2-by-2 block
of NaN.exampleC = cov(___,w) specifies
the normalization weight for any of the previous syntaxes. When w
= 0 (default), C is normalized by the
number of observations-1. When w = 1,
it is normalized by the number of observations.exampleC = cov(___,nanflag) specifies
a condition for omitting NaN values from the calculation
for any of the previous syntaxes. For example, cov(A,'omitrows') will
omit any rows of A with one or more NaN elements.
Syntax
C = cov(A) exampleC = cov(A,B) exampleC = cov(___,w) exampleC = cov(___,nanflag) example
Example
Covariance of MatrixOpen This ExampleCreate a 3-by-4 matrix and compute its covariance.A = [5 0 3 7; 1 -5 7 3; 4 9 8 10];
C = cov(A)
C =
4.3333 8.8333 -3.0000 5.6667
8.8333 50.3333 6.5000 24.1667
-3.0000 6.5000 7.0000 1.0000
5.6667 24.1667 1.0000 12.3333
Since the number of columns of A is 4, the result is a 4-by-4 matrix.Covariance of Two VectorsOpen This ExampleCreate two vectors and compute their 2-by-2 covariance matrix.A = [3 6 4];
B = [7 12 -9];
cov(A,B)
ans =
2.3333 6.8333
6.8333 120.3333
Covariance of Two MatricesOpen This ExampleCreate two matrices of the same size and compute their 2-by-2 covariance.A = [2 0 -9; 3 4 1];
B = [5 2 6; -4 4 9];
cov(A,B)
ans =
22.1667 -6.9333
-6.9333 19.4667
Specify Normalization WeightOpen This ExampleCreate a matrix and compute the covariance normalized by the number of rows.A = [1 3 -7; 3 9 2; -5 4 6];
C = cov(A,1)
C =
11.5556 5.1111 -10.2222
5.1111 6.8889 5.2222
-10.2222 5.2222 29.5556
Covariance Excluding NaNOpen This ExampleCreate a matrix and compute its covariance, excluding any rows containing NaN values.A = [1.77 -0.005 3.98; NaN -2.95 NaN; 2.54 0.19 1.01]
A =
1.7700 -0.0050 3.9800
NaN -2.9500 NaN
2.5400 0.1900 1.0100
C = cov(A,'omitrows')
C =
0.2964 0.0751 -1.1435
0.0751 0.0190 -0.2896
-1.1435 -0.2896 4.4104
Output / Return Value
Limitations
Alternatives / See Also
Reference