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

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE DSE15
  5. C
  6. C        PURPOSE
  7. C           TO COMPUTE A VECTOR OF SMOOTHED FUNCTION VALUES GIVEN A
  8. C           VECTOR OF FUNCTION VALUES WHOSE ENTRIES CORRESPOND TO
  9. C           EQUIDISTANTLY SPACED ARGUMENT VALUES.
  10. C
  11. C        USAGE
  12. C           CALL DSE15(Y,Z,NDIM,IER)
  13. C
  14. C        DESCRIPTION OF PARAMETERS
  15. C           Y     -  GIVEN VECTOR OF DOUBLE PRECISION FUNCTION VALUES
  16. C                    (DIMENSION NDIM)
  17. C           Z     -  RESULTING VECTOR OF DOUBLE PRECISION SMOOTHED
  18. C                    FUNCTION VALUES (DIMENSION NDIM)
  19. C           NDIM  -  DIMENSION OF VECTORS Y AND Z
  20. C           IER   -  RESULTING ERROR PARAMETER
  21. C                    IER = -1  - NDIM IS LESS THAN 5
  22. C                    IER =  0  - NO ERROR
  23. C
  24. C        REMARKS
  25. C           (1)  IF IER=-1 THERE HAS BEEN NO COMPUTATION.
  26. C           (2)   Z CAN HAVE THE SAME STORAGE ALLOCATION AS Y.  IF Y IS
  27. C                 DISTINCT FROM Z, THEN IT IS NOT DESTROYED.
  28. C
  29. C        SUBROUTINE AND FUNCTION SUBPROGRAMS REQUIRED
  30. C           NONE
  31. C
  32. C        METHOD
  33. C           IF X IS THE (SUPPRESSED) VECTOR OF ARGUMENT VALUES, THEN
  34. C           EXCEPT AT THE POINTS X(1),X(2),X(NDIM-1) AND X(NDIM), EACH
  35. C           SMOOTHED VALUE Z(I) IS OBTAINED BY EVALUATING AT X(I) THE
  36. C           LEAST-SQUARES POLYNOMIAL OF DEGREE 1 RELEVANT TO THE 5
  37. C           SUCCESSIVE POINTS (X(I+K),Y(I+K)) K = -2,-1,...,2.  (SEE
  38. C           HILDEBRAND, F.B., INTRODUCTION TO NUMERICAL ANALYSIS,
  39. C           MC GRAW-HILL, NEW YORK/TORONTO/LONDON, 1956, PP. 295-302.)
  40. C
  41. C     ..................................................................
  42. C
  43.       SUBROUTINE DSE15(Y,Z,NDIM,IER)
  44. C
  45. C
  46.       DIMENSION Y(1),Z(1)
  47.       DOUBLE PRECISION Y,Z,A,B,C
  48. C
  49. C        TEST OF DIMENSION
  50.       IF(NDIM-5)3,1,1
  51. C
  52. C        PREPARE LOOP
  53.     1 A=Y(1)+Y(1)
  54.       C=Y(2)+Y(2)
  55.       B=.2D0*(A+Y(1)+C+Y(3)-Y(5))
  56.       C=.1D0*(A+A+C+Y(2)+Y(3)+Y(3)+Y(4))
  57. C
  58. C        START LOOP
  59.       DO 2 I=5,NDIM
  60.       A=B
  61.       B=C
  62.       C=.2D0*(Y(I-4)+Y(I-3)+Y(I-2)+Y(I-1)+Y(I))
  63.     2 Z(I-4)=A
  64. C        END OF LOOP
  65. C
  66. C        UPDATE LAST FOUR COMPONENTS
  67.       A=Y(NDIM)+Y(NDIM)
  68.      0A=.1D0*(A+A+Y(NDIM-1)+Y(NDIM-1)+Y(NDIM-1)+Y(NDIM-2)+Y(NDIM-2)
  69.      1      +Y(NDIM-3))
  70.       Z(NDIM-3)=B
  71.       Z(NDIM-2)=C
  72.       Z(NDIM-1)=A
  73.       Z(NDIM)=A+A-C
  74.       IER=0
  75.       RETURN
  76. C
  77. C        ERROR EXIT IN CASE NDIM IS LESS THAN 5
  78.     3 IER=-1
  79.       RETURN
  80.       END
  81.