PROGRAM 4
PROGRAM BESSEL C.....THIS PROGRAM CALCULATES THE BESSEL FUNCTION I (X). C.....F012 ANTHONY F. ORTIZ **P29** C.....DECLARE VARIABLES FOR X, I (X), T, AND E. REAL X, IX, T, E C.....OPEN THE DATA FILE 'F012P29.DAT' AND THE OUT FILE 'F012P29.OUT'. OPEN (1, FILE = 'F012P29.DAT') OPEN (2, FILE = 'F012P29.OUT') C.....WRITE THE HEADER, THE TITLE, AND THE COLUMN HEADINGS TO THE OUT FILE. WRITE (2, *) 'F012 ANTHONY F. ORTIZ **P29**' WRITE (2, *) WRITE (2, *) ' BESSEL FUNCTION VALUES' WRITE (2, *) WRITE (2, *) ' X I(X)' WRITE (2, *) C.....GET THE VALUE OF (X) FROM THE DATA FILE. 10 READ (1, *, END = 40) X C.....ASSIGN A FORMULA TO (T) AND AND (E). T = X / 3.75 E = EXP (-X) C.....DECIDE WHICH FORMULA TO USE ON THE VALUE (X) OR TO TERMINATE PROGRAM. IF (X.LT.3.75) THEN GOTO 20 ELSE IF (X.GE.3.75.AND.X.LE.5.00) THEN GOTO 30 ELSE IF (X.GT.5.00) THEN GOTO 40 ENDIF ENDIF ENDIF C.....ASSIGN A FORMULA FOR I (X) DEPENDING ON THE VALUE OF (X) AND WRITE IT C.....TO THE OUT FILE OR TERMINATE THE PROGRAM. 20 IX = 1 + $3.515629 * T ** 2 + $3.0899424 * T ** 4 + $1.2067492 * T ** 6 + $0.2659732 * T ** 8 + $0.0360768 * T ** 10 + $0.0045813 * T ** 12 WRITE (2, 100) X, IX 100 FORMAT (1X, F18.6, F18.6) GOTO 10 30 IX = (0.39894228 + $0.01328592 * T ** (-1) + $0.00225319 * T ** (-2) - $0.00157565 * T ** (-3) + $0.00916281 * T ** (-4) - $0.02057706 * T ** (-5) + $0.02635537 * T ** (-6) - $0.01647633 * T ** (-7) + $0.00392377 * T ** (-8)) / $(X ** 0.5 * E) WRITE (2, 200) X, IX 200 FORMAT (1X, F18.6, F18.6) GOTO 10 C.....END THE PROGRAM. 40 STOP END C.....DATA FILE: F012P29.DAT -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 C.....OUTFILE: F012P29.OUT F012 ANTHONY F. ORTIZ **P29** BESSEL FUNCTION VALUES X I(X) -1.000000 1.266066 -.500000 1.063483 .000000 1.000000 .500000 1.063483 1.000000 1.266066 1.500000 1.646724 2.000000 2.279587 2.500000 3.289842 3.000000 4.880797 3.500000 7.378209 4.000000 11.301920 4.500000 17.481170 5.000000 27.239870
BACK TO COMP150 PAGE.