File: FORR.FT of Tape: Various/ETH/eth11-1
(Source file text)
C FORR.FTN - A PROGRAM TO TEST THE FOLLOWING SUBROUTINES: C FORIF - FOURIER ANALYSIS OF A GIVEN FUNCTION C FORIT - FOURIER ANALYSIS OF A TABULATED FUNCTION C 49 DATA POINTS WILL BE USED IN EACH CASE C EXTERNAL FCN DIMENSION A(25),B(25),T(50),C(13) DATA C/3.29,-4.0,1.,-.444,.25,-.160,.111,-.082,.063, 1 -.049,.040,-.033,.028/,PI/3.1415926/ TWOPI=PI+PI C C OUTPUT CHANNEL = IOUT IOUT=2 C C TEST FORIF C WRITE(IOUT,100) 100 FORMAT(//' RESULTS OF FORIF'/4X,'FUNCTION:' 1' F(X)=X**2+X ON -PI < X < PI, F(X+2*PI)=F(X)'/) WRITE(IOUT,103) 103 FORMAT(' COEFFICIENTS:'/' N'8X,'A(N)'5X,'A(N)-EXACT',5X,'B(N)'/) CALL FORIF(FCN,24,12,A,B,IER) DO 1 I=1,13 N=I-1 1 WRITE(IOUT,101) N,A(I),C(I),B(I) 101 FORMAT(I4,3F12.3) C C TEST FORIT C WRITE(IOUT,102) 102 FORMAT(//' RESULTS OF FORIT'/4X,'SAME FUNCTION'/) DO 2 J=1,49 JM1=J-1 2 T(J)=FCN(JM1*TWOPI/49.) WRITE(IOUT,103) CALL FORIT(T,24,12,A,B,IER) DO 3 I=1,13 N=I-1 3 WRITE(IOUT,101) N,A(I),C(I),B(I) STOP END C EXTERNAL FUNCTION FOR USE WITH FORR.FTN FUNCTION FCN(X) DATA PI/3.1415926/ TWOPI=PI+PI Z=X 1 IF(ABS(Z)-PI) 3,3,2 2 IF(Z) 4,3,5 4 Z=Z+TWOPI GO TO 1 5 Z=Z-TWOPI GO TO 1 3 FCN=Z**2+Z RETURN END