corr(G)

NAME
corr - correlation, covariance

CALLING SEQUENCE
[cov,mean]=corr(x,[y],nlags)
[cov,mean]=corr('fft',xmacro,[ymacro],n,sect)
[w,xu]=corr('updt',x1,[y1],w0)
[w,xu]=corr('updt',x2,[y2],w,xu)
 ...
[wk]=corr('updt',xk,[yk],w,xu)

DESCRIPTION
Computes
                n - m - 1
                 ====
                         cov(m) =  >        (x  - xmean) (y      - ymean)
                 /           k            m + k
                 ====
                 k = 0
for m=0,..,nlag-1 and two vectors x=[x(1),..,x(n)]
 y=[y(1),..,y(n)]

Short sequences

returns the first nlags
correlation coefficients and mean = mean of x
(mean of [x,y] if y is an argument).
The sequence x (resp. y) is assumed real, and x and y are of
same dimension n.

Long sequences

Here xmacro is either

-   a function of type [xx]=xmacro(sect,istart) which returns
    a vector xx of dimension nsect containing the part of the
    sequence with indices from istart to istart+sect-1.

-   a fortran subroutine which performs the same calculation.
    (See the source code of dgetx for an example).
    n = total size of the sequence.
    sect = size of sections of the sequence. sect must be a power
    of 2. cov has dimension sect. Calculation is performed by FFT.

"Updating method"
[w,xu]=corr('updt',x1,[y1],w0)
[w,xu]=corr('updt',x2,[y2],w,xu)
 ...
wk=corr('updt',xk,[yk],w,xu)
With this calling sequence the calculation is updated at each call to corr.
w0 = 0*ones(1,2*nlags);
nlags = power of 2.
x1,x2,... are parts of x such that x=[x1,x2,...] and sizes of xi a power of 2. To get nlags coefficients a final fft must be performed c=fft(w,1)/n; cov=c(1nlags) (n is the size of x (y)). Caution: this calling sequence assumes that xmean = ymean = 0.

SEE ALSO
fft