Global Index (short | long) | Local contents | Local Index (short | long)
[lam, lds, pcs, per] = eof_dan(data, nkp);
[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.
This function calls | |
---|---|
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