wave_cross_cov.m

来自「A series of .c and .m files which allow 」· M 代码 · 共 38 行

M
38
字号
function [C, L] = wave_cross_cov(X, Y, LMAX)%%%% Compute wavelet cross-covariances for arbitrary lag%% -----------------------------------------------------------------------%% Input: X     Matrix containing wavelet coefficients with appropriate %%              boundary condition%%        Y     Matrix containing wavelet coefficients with appropriate %%              boundary condition%%        LMAX  Maximum lag to compute%%%% Output: C  Matrix containing the wavelet cross-covariance (same %%            number of columns as X and Y)%%         L  Vector of lags (for plotting)%%[I J] = size(X);L = (-LMAX+1):(LMAX-1);XYCrossCov = []; C = [];for j = 1:J  XNaN = X(~isnan(X(:,j)),j)';  ZNaN = XNaN;  YNaN = Y(~isnan(Y(:,j)),j)';  NX = length(XNaN);  NXX = min(length(XNaN) - 1, LMAX);  LAG1 = []; LAG2 = [];  for i = 1:NXX    XYNaN = XNaN .* YNaN;    ZYNaN = ZNaN .* YNaN;    LAG1 = [LAG1 sum(XYNaN(~isnan(XYNaN))) ./ NX];    LAG2 = [LAG2 sum(ZYNaN(~isnan(ZYNaN))) ./ NX];    XNaN = [XNaN(2:NX) NaN];    ZNaN = [NaN ZNaN(1:(NX-1))];  end  XYCrossCov = [fliplr(LAG2) LAG1(2:LMAX)];  C = [C XYCrossCov'];end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?