COVM generates covariance matrix X and Y can contain missing values encoded with NaN. NaN's are skipped, NaN do not result in a NaN output. The output gives NaN only if there are insufficient input data COVM(X,Mode); calculates the (auto-)correlation matrix of X COVM(X,Y,Mode); calculates the crosscorrelation between X and Y COVM(...,W); weighted crosscorrelation Mode = 'M' minimum or standard mode [default] C = X'*X; or X'*Y correlation matrix Mode = 'E' extended mode C = [1 X]'*[1 X]; % l is a matching column of 1's C is additive, i.e. it can be applied to subsequent blocks and summed up afterwards the mean (or sum) is stored on the 1st row and column of C Mode = 'D' or 'D0' detrended mode the mean of X (and Y) is removed. If combined with extended mode (Mode='DE'), the mean (or sum) is stored in the 1st row and column of C. The default scaling is factor (N-1). Mode = 'D1' is the same as 'D' but uses N for scaling. C = covm(...); C is the scaled by N in Mode M and by (N-1) in mode D. [C,N] = covm(...); C is not scaled, provides the scaling factor N C./N gives the scaled version. see also: DECOVM, XCOVF