C = cov(A)
C = cov(A,B)
C = cov(___,w)
C = cov(___,nanflag)
A is a vector of observations,
the scalar-valued variance.
A is a matrix whose columns
represent random variables and whose rows represent observations,
the covariance matrix with the corresponding column variances along
C is normalized by the number of
-1. If there is only one observation,
it is normalized by 1.
A is a scalar,
A is an empty array,
vectors of observations with equal length,
2 covariance matrix.
matrices of observations,
vectors and is equivalent to
have equal size.
cov(A,B) returns a
of zeros. If
B are empty
cov(A,B) returns a
Create 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.
Create 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
Create 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
Create 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
Create a matrix and compute its covariance, excluding any rows containing
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
A— Input array
Input array, specified as a vector or matrix.
B— Additional input array
Additional input matrix, specified as a vector or matrix.
be the same size as
w— Normalization weight
Normalization weight, specified as one of these values:
0 — The output is normalized
by the number of observations
-1. If there is only
one observation, it is normalized by 1.
1 — The output is normalized
by the number of observations.
NaN condition, specified as one of these
'includenan' — include all
in the input prior to computing the covariance.
'omitrows' — omit any row
of input containing one or more
NaN values prior
to computing the covariance.
'partialrows' — omit rows
NaN only on a pairwise basis for each
two-column covariance calculation.
Covariance, specified as a scalar or matrix.
For single matrix input,
[size(A,2) size(A,2)] based on the number
of random variables (columns) represented by
The variances of the columns are along the diagonal. If
a row or column vector,
C is the scalar-valued
For two-vector or two-matrix input,
2 covariance matrix
between the two random variables. The variances are along the diagonal
For two random variable vectors A and B, the covariance is defined as
*denotes the complex conjugate.
The covariance matrix of two random variables is the matrix of pairwise covariance calculations between each variable,
Awhose columns are each a random variable made up of observations, the covariance matrix is the pairwise covariance calculation between each column combination. In other words, .
For a random variable vector A made up of N scalar observations, the variance is defined as
1. In either case, the mean is assumed to have the usual normalization factor N.
This function supports tall arrays with the limitations:
For the syntax
C = cov(X,Y), the
Y must have the
same size, even if they are vectors.
'partialrows' is not
For more information, see Tall Arrays.
Usage notes and limitations:
If the input is variable-size and is
run time, returns
See Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder).