Télécharger yofxcu.eso

Retour à la liste

Numérotation des lignes :

yofxcu
  1. C YOFXCU SOURCE CHAT 05/01/13 04:20:13 5004
  2. SUBROUTINE YOFXCU(X,CURVE,NCURV, Y,DYSDX,KERRE)
  3. C
  4. C============================================================
  5. C Routine qui lit la valeur d'une courbe et de sa derivee
  6. C quand on lui donne l'abscisse
  7. C
  8. C ENTREES:
  9. C NCURV : Nombre de points de la courbe
  10. C X : Abscisse
  11. C CURVE : Courbe
  12. C
  13. C SORTIES
  14. C Y : Valeur de la fonction en X
  15. C DYSDX : Valeur de la derivee en X
  16. C
  17. C WARNING : On suppose que les abscisses varient de facon monotone
  18. C (croissante OU decroissante)
  19. C=============================================================
  20.  
  21. IMPLICIT INTEGER(I-N)
  22. IMPLICIT REAL*8(A-H,O-Z)
  23. DIMENSION CURVE(2,NCURV)
  24. PARAMETER(ZERO=0.D0)
  25. C
  26. IF(CURVE(1,2)-CURVE(1,1).GT.0.D0)THEN
  27. C
  28. C CAS X CROISSANT
  29. C
  30. IF (X.LT.CURVE(1,1)) THEN
  31. KERRE=32
  32. Y=0.D0
  33. DYSDX=ZERO
  34. ELSE
  35. KERRE=0
  36. IF (X.EQ.CURVE(1,1)) THEN
  37. Y=CURVE(2,1)
  38. DYSDX=(CURVE(2,2)-CURVE(2,1))/(CURVE(1,2)-CURVE(1,1))
  39. ELSEIF(X.GE.CURVE(1,NCURV))THEN
  40. Y=CURVE(2,NCURV)
  41. DYSDX=ZERO
  42. ELSE
  43. DO IE1=2,NCURV
  44. IF (X.LE.CURVE(1,IE1)) GOTO 1
  45. ENDDO
  46. 1 DYSDX=(CURVE(2,IE1)-CURVE(2,IE1-1))/
  47. > (CURVE(1,IE1)-CURVE(1,IE1-1))
  48. Y=CURVE(2,IE1)+DYSDX*(X-CURVE(1,IE1))
  49. ENDIF
  50. ENDIF
  51. C
  52. ELSE
  53. C
  54. C CAS X DECROISSANT
  55. C
  56. IF (X.GT.CURVE(1,1)) THEN
  57. KERRE=32
  58. Y=0.D0
  59. DYSDX=ZERO
  60. ELSE
  61. KERRE=0
  62. IF (X.EQ.CURVE(1,1)) THEN
  63. Y=CURVE(2,1)
  64. DYSDX=(CURVE(2,2)-CURVE(2,1))/(CURVE(1,2)-CURVE(1,1))
  65. ELSEIF(X.LE.CURVE(1,NCURV))THEN
  66. Y=CURVE(2,NCURV)
  67. DYSDX=ZERO
  68. ELSE
  69. DO IE1=2,NCURV
  70. IF (X.GE.CURVE(1,IE1)) GOTO 2
  71. ENDDO
  72. 2 DYSDX=(CURVE(2,IE1)-CURVE(2,IE1-1))/
  73. > (CURVE(1,IE1)-CURVE(1,IE1-1))
  74. Y=CURVE(2,IE1)+DYSDX*(X-CURVE(1,IE1))
  75. ENDIF
  76. ENDIF
  77. C
  78. ENDIF
  79. C
  80. RETURN
  81. END
  82.  
  83.  
  84.  
  85.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales