Documentation of corr_nan2

Global Index (all files) (short | long) | Local Index (files in subdir) (short | long)

Function Synopsis

c = covar_nan(mat1, mat2);

Help text

  function c = covar_nan ( mat1 , mat2 ) ;

  This function computes the correlation matrix between
  mat1 and mat2, which may contain NaNs.  Elements of
  either matrix that have NaNs are ignored.

  It is assumed that the covariance will be taken along 
  the column dimension of mat1 and mat2.

Cross-Reference Information

This function calls

Listing of function corr_nan2

function c = covar_nan(mat1, mat2);

if (size(mat1, 1) ~= size(mat2, 1));
  error('The number of columns of mat1 and mat2 must be equal');

[m1, n1] = size(mat1);
[m2, n2] = size(mat2);

c = repmat(NaN, [n1, n2]);
for i = 1:n1;
  for j = 1:n2;
    kp = ~isnan(mat1(:,i).*mat2(:,j));
    [c(i,j), nsum] = sum2( ...
	standardize(mat1(kp,i)).*standardize(mat2(kp,j)) );
    c(i,j) = c(i,j)./(nsum-1);