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

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