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

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE DQHSE
  5. C
  6. C        PURPOSE
  7. C           TO COMPUTE THE VECTOR OF INTEGRAL VALUES FOR A GIVEN
  8. C           EQUIDISTANT TABLE OF FUNCTION, FIRST DERIVATIVE,
  9. C           AND SECOND DERIVATIVE VALUES.
  10. C
  11. C        USAGE
  12. C           CALL DQHSE (H,Y,FDY,SDY,Z,NDIM)
  13. C
  14. C        DESCRIPTION OF PARAMETERS
  15. C           H      - DOUBLE PRECISION INCREMENT OF ARGUMENT VALUES.
  16. C           Y      - DOUBLE PRECISION INPUT VECTOR OF FUNCTION VALUES.
  17. C           FDY    - DOUBLE PRECISION INPUT VECTOR OF FIRST DERIVATIVE.
  18. C           SDY    - DOUBLE PRECISION INPUT VECTOR OF SECOND DERIVATIVE.
  19. C           Z      - RESULTING DOUBLE PRECISION VECTOR OF INTEGRAL
  20. C                    VALUES. Z MAY BE IDENTICAL WITH Y, FDY OR SDY.
  21. C           NDIM   - THE DIMENSION OF VECTORS Y,FDY,SDY,Z.
  22. C
  23. C        REMARKS
  24. C           NO ACTION IN CASE NDIM LESS THAN 1.
  25. C
  26. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  27. C           NONE
  28. C
  29. C        METHOD
  30. C           BEGINNING WITH Z(1)=0, EVALUATION OF VECTOR Z IS DONE BY
  31. C           MEANS OF HERMITEAN SIXTH ORDER INTEGRATION FORMULA.
  32. C           FOR REFERENCE, SEE
  33. C           R.ZURMUEHL, PRAKTISCHE MATHEMATIK FUER INGENIEURE UND
  34. C           PHYSIKER, SPRINGER, BERLIN/GOETTINGEN/HEIDELBERG, 1963,
  35. C           PP.227-230.
  36. C
  37. C     ..................................................................
  38. C
  39.       SUBROUTINE DQHSE(H,Y,FDY,SDY,Z,NDIM)
  40. C
  41. C
  42.       DIMENSION Y(1),FDY(1),SDY(1),Z(1)
  43.       DOUBLE PRECISION Y,FDY,SDY,Z,H,HH,HF,HT,SUM1,SUM2
  44. C
  45.       SUM2=0.D0
  46.       IF(NDIM-1)4,3,1
  47.     1 HH=.5D0*H
  48.       HF=.2D0*H
  49.       HT=.08333333333333333D0*H
  50. C
  51. C     INTEGRATION LOOP
  52.       DO 2 I=2,NDIM
  53.       SUM1=SUM2
  54.      0SUM2=SUM2+HH*((Y(I-1)+Y(I))+HF*((FDY(I-1)-FDY(I))+
  55.      1              HT*(SDY(I-1)+SDY(I))))
  56.     2 Z(I-1)=SUM1
  57.     3 Z(NDIM)=SUM2
  58.     4 RETURN
  59.       END
  60.