Télécharger endw2.eso

Retour à la liste

Numérotation des lignes :

endw2
  1. C ENDW2 SOURCE CHAT 05/01/12 23:39:24 5004
  2. FUNCTION ENDW2 (N,ALPHA,BETA)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. ZERO = 0.D0
  6. ONE = 1.D0
  7. TWO = 2.D0
  8. THREE = 3.D0
  9. FOUR = 4.D0
  10. APB = ALPHA+BETA
  11. IF (N.EQ.0) THEN
  12. RETURN
  13. ENDIF
  14. F1 = GAMMAF(ALPHA+ONE)*GAMMAF(BETA+TWO)/GAMMAF(APB+THREE)
  15. F1 = F1*(APB+TWO)*TWO**(APB+TWO)/TWO
  16. IF (N.EQ.1) THEN
  17. ENDW2 = F1
  18. RETURN
  19. ENDIF
  20. FINT1 = GAMMAF(ALPHA+ONE)*GAMMAF(BETA+TWO)/GAMMAF(APB+THREE)
  21. FINT1 = FINT1*TWO**(APB+TWO)
  22. FINT2 = GAMMAF(ALPHA+TWO)*GAMMAF(BETA+TWO)/GAMMAF(APB+FOUR)
  23. FINT2 = FINT2*TWO**(APB+THREE)
  24. F2 = (TWO*(ALPHA+TWO)*FINT1 - (APB+FOUR)*FINT2)
  25. $ * (APB+THREE)/FOUR
  26. IF (N.EQ.2) THEN
  27. ENDW2 = F2
  28. RETURN
  29. ENDIF
  30. DO 100 I=3,N
  31. DI = DBLE(I-1)
  32. ABN = ALPHA+BETA+DI
  33. ABNN = ABN+DI
  34. A1 = -(TWO*(DI+ALPHA)*(DI+BETA))/(ABN*ABNN*(ABNN+ONE))
  35. A2 = (TWO*(ALPHA-BETA))/(ABNN*(ABNN+TWO))
  36. A3 = (TWO*(ABN+ONE))/((ABNN+TWO)*(ABNN+ONE))
  37. F3 = -(A2*F2+A1*F1)/A3
  38. F1 = F2
  39. F2 = F3
  40. 100 CONTINUE
  41. ENDW2 = F3
  42. RETURN
  43. END
  44.  
  45.  
  46.  

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