home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / DOOG / PCSSP1.ZIP / GAUQUAD.ZIP / QG8.FOR < prev    next >
Text File  |  1985-11-29  |  2KB  |  51 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE QG8
  5. C
  6. C        PURPOSE
  7. C           TO COMPUTE INTEGRAL(FCT(X), SUMMED OVER X FROM XL TO XU)
  8. C
  9. C        USAGE
  10. C           CALL QG8 (XL,XU,FCT,Y)
  11. C           PARAMETER FCT REQUIRES AN EXTERNAL STATEMENT
  12. C
  13. C        DESCRIPTION OF PARAMETERS
  14. C           XL     - THE LOWER BOUND OF THE INTERVAL.
  15. C           XU     - THE UPPER BOUND OF THE INTERVAL.
  16. C           FCT    - THE NAME OF AN EXTERNAL FUNCTION SUBPROGRAM USED.
  17. C           Y      - THE RESULTING INTEGRAL VALUE.
  18. C
  19. C        REMARKS
  20. C           NONE
  21. C
  22. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  23. C           THE EXTERNAL FUNCTION SUBPROGRAM FCT(X) MUST BE FURNISHED
  24. C           BY THE USER.
  25. C
  26. C        METHOD
  27. C           EVALUATION IS DONE BY MEANS OF 8-POINT GAUSS QUADRATURE
  28. C           FORMULA, WHICH INTEGRATES POLYNOMIALS UP TO DEGREE 15
  29. C           EXACTLY.
  30. C           FOR REFERENCE, SEE
  31. C           V.I.KRYLOV, APPROXIMATE CALCULATION OF INTEGRALS,
  32. C           MACMILLAN, NEW YORK/LONDON, 1962, PP.100-111 AND 337-338.
  33. C
  34. C     ..................................................................
  35. C
  36.       SUBROUTINE QG8(XL,XU,FCT,Y)
  37. C
  38. C
  39.       A=.5*(XU+XL)
  40.       B=XU-XL
  41.       C=.4801449*B
  42.       Y=.05061427*(FCT(A+C)+FCT(A-C))
  43.       C=.3983332*B
  44.       Y=Y+.1111905*(FCT(A+C)+FCT(A-C))
  45.       C=.2627662*B
  46.       Y=Y+.1568533*(FCT(A+C)+FCT(A-C))
  47.       C=.09171732*B
  48.       Y=B*(Y+.1813419*(FCT(A+C)+FCT(A-C)))
  49.       RETURN
  50.       END
  51.