BBC_CORRELATE
NAME:
bbc_correlate
PURPOSE:
This function computes the cross correlation Pxy(L) or cross
covariance Rxy(L) of two sample populations X and Y as a function
of the lag (L).
CATEGORY:
Statistics.
CALLING SEQUENCE:
Result = bbc_correlate(X, Y, Lag)
INPUTS:
X: An n-element vector of type integer, float or double.
Y: An n-element vector of type integer, float or double.
LAG: A scalar or n-element vector, in the interval [-(n-2), (n-2)],
of type integer that specifies the absolute distance(s) between
indexed elements of X.
KEYWORD PARAMETERS:
COVARIANCE: If set to a non-zero value, the sample cross
covariance is computed.
DOUBLE: If set to a non-zero value, computations are done in
double precision arithmetic.
EXAMPLE
Define two n-element sample populations.
x = [3.73, 3.67, 3.77, 3.83, 4.67, 5.87, 6.70, 6.97, 6.40, 5.57]
y = [2.31, 2.76, 3.02, 3.13, 3.72, 3.88, 3.97, 4.39, 4.34, 3.95]
Compute the cross correlation of X and Y for LAG = -5, 0, 1, 5, 6, 7
lag = [-5, 0, 1, 5, 6, 7]
result = bbc_correlate(x, y, lag)
The result should be:
[-0.428246, 0.914755, 0.674547, -0.405140, -0.403100, -0.339685]
PROCEDURE:
See computational formula published in IDL manual.
REFERENCE:
INTRODUCTION TO STATISTICAL TIME SERIES
Wayne A. Fuller
ISBN 0-471-28715-6
MODIFICATION HISTORY:
Written by: GGS, RSI, October 1994
Modified: GGS, RSI, August 1995
Corrected a condition which excluded the last term of the
time-series.
Modified: GGS, RSI, April 1996
Simplified CROSS_COV function. Added DOUBLE keyword.
Modified keyword checking and use of double precision.
Modified: W. Biagiotti, Advanced Testing Technologies Inc., Hauppauge, NY, July 1997
Moved all constant calculations out of main loop for greatly
reduced processing time.
DISCLAIMER: This routine has been modified from its original form as it was
supplied by Research Systems, Inc (RSI). As such, RSI is not responsible
for any errors existing in this code.
|