Documentation of eof_dan_NaN


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


Function Synopsis

[lam, lds, pcs, per] = eof_dan(data, nkp);

Help text


  [lam, lds, pcs, per] = eof_dan(data);

  This function assumes that [ntim, npts] = size(data);
  that is, each column is a time series for a different point.

  Missing values (NaN's) are ignored.


Cross-Reference Information

This function calls

Listing of function eof_dan_NaN

function [lam, lds, pcs, per] = eof_dan(data, nkp);

if nargin == 1;
  nkp = 10;
end

[m, n] = size(data);

rot = (m < n);
if rot;
  data = data'; [m, n] = size(data);
end

c = covar_nan3(data, data);
[lds, lam] = eig(c);
l = diag(lam);

[lam, k] = sort(l'); lds = lds(:,k);

lam = fliplr(lam);
lds = fliplr(lds); lds = lds(:,1:nkp);
per = lam * 100 / sum(lam);
pcs = covar_nan3(data',lds);

if rot;
  tem = pcs;
  pcs = lds;
  lds = tem;
end;

wgt = std(pcs);
for i = 1:nkp;
  pcs(:,i) = pcs(:,i)./wgt(i);
  lds(:,i) = lds(:,i).*wgt(i);
end