Documentation of eof_routine


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


Help text

  Normalized eof routine:

Listing of script eof_routine



%  This assumes that each time series in the matrix 'data' has had the
%  time mean removed, and is normalized etc.  This could be performed by:

%  [data, clim] = annave(data);
%  data = cosweight(data, lat);

[ntim, nhpts] = size(data);
c = data * data' / nhpts;
[lamda, pc, per] = eof(c);   %  lamda = eigenvalue
                             %  pc = PC's
                             %  per = vector containing the percent
                             %        variance explained by each mode.
                                
%  Usually only the first few modes are interesting, so take only the
%    first 10 or so.

pc10 = pc(:,1:10) .* (ones(ntim, 1) * (1./std(pc(:,1:10))));

%  The above statement divides each of the first 10 PC's by its std.
%  Now, get loadings:

loadings = pc10' * data ./ ntim;

%  These loadings should be in, say K / std(pc).  The PC's are all
%  normalized, so that they should all have about the same amplitude.