home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
fortran
/
library
/
ssp
/
stattmsr
/
auto.for
next >
Wrap
Text File
|
1985-11-29
|
2KB
|
61 lines
C
C ..................................................................
C
C SUBROUTINE AUTO
C
C PURPOSE
C TO FIND AUTOCOVARIANCES OF SERIES A FOR LAGS 0 TO L-1.
C
C USAGE
C CALL AUTO (A,N,L,R)
C
C DESCRIPTION OF PARAMETERS
C A - INPUT VECTOR OF LENGTH N CONTAINING THE TIME SERIES
C WHOSE AUTOCOVARIANCE IS DESIRED.
C N - LENGTH OF THE VECTOR A.
C L - AUTOCOVARIANCE IS CALCULATED FOR LAGS OF 0, 1, 2,...,
C L-1.
C R - OUTPUT VECTOR OF LENGTH L CONTAINING AUTOCOVARIANCES
C OF SERIES A.
C
C REMARKS
C THE LENGTH OF R IS DIFFERENT FROM THE LENGTH OF A. N MUST
C BE GREATER THAN L. IF NOT, R(1) IS SET TO ZERO AND RETURN
C IS MADE TO THE CALLING PROGRAM.
C
C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
C NONE
C
C METHOD
C DESCRIBED IN R.B. BLACKMAN AND J.W. TUKEY, 'THE MEASURMENT
C OF POWER SPECTRA', DOVER PUBLICATIONS INC., NEW YORK, 1959.
C
C ..................................................................
C
SUBROUTINE AUTO (A,N,L,R)
DIMENSION A(1),R(1)
C
C CALCULATE AVERAGE OF TIME SERIES A
C
AVER=0.0
IF(N-L) 50,50,100
50 R(1)=0.0
RETURN
100 DO 110 I=1,N
110 AVER=AVER+A(I)
FN=N
AVER=AVER/FN
C
C CALCULATE AUTOCOVARIANCES
C
DO 130 J=1,L
NJ=N-J+1
SUM=0.0
DO 120 I=1,NJ
IJ=I+J-1
120 SUM=SUM+(A(I)-AVER)*(A(IJ)-AVER)
FNJ=NJ
130 R(J)=SUM/FNJ
RETURN
END