home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / fortran / library / ssp / statrand / ndtri.for < prev    next >
Encoding:
Text File  |  1985-12-31  |  1.9 KB  |  79 lines

  1. C
  2. C.......................................................................
  3. C
  4. C     SUBROUTINE NDTRI
  5. C
  6. C     PURPOSE
  7. C       COMPUTES X = P**(-1)(Y), THE ARGUMENT X SUCH THAT Y= P(X) =
  8. C       THE PROBABILITY THAT THE RANDOM VARIABLE U, DISTRIBUTED
  9. C       NORMALLY(0,1), IS LESS THAN OR EQUAL TO X.  F(X), THE
  10. C       ORDINATE OF THE NORMAL DENSITY, AT X, IS ALSO COMPUTED.
  11. C
  12. C     USAGE
  13. C       CALL NDTRI(P,X,D,IER)
  14. C
  15. C     DESCRIPTION OF PARAMETERS
  16. C       P   - INPUT PROBABILITY.
  17. C       X   - OUTPUT ARGUMENT SUCH THAT P = Y = THE PROBABILITY THAT
  18. C            U, THE RANDOM VARIABLE, IS LESS THAN OR EQUAL TO X.
  19. C       D   - OUTPUT DENSITY, F(X).
  20. C       IER - OUTPUT ERROR CODE
  21. C         = -1 IF P IS NOT IN THE INTERVAL (0,1), INCLUSIVE.
  22. C           X=D=.99999E+74 IN THIS CASE
  23. C         = 0 IF THERE IS NO ERROR.  SEE REMARKS, BELOW.
  24. C
  25. C     REMARKS
  26. C       MAXIMUM ERROR IS 0.00045.
  27. C       IF P = 0, X IS SET TO -(10)**74.  D IS SET TO 0.
  28. C       IF P = 1, X IS SET TO  (10)**74.  D IS SET TO 0.
  29. C
  30. C     SUBROUTINES AND SUBPROGRAMS REQUIRED
  31. C       NONE
  32. C
  33. C     METHOD
  34. C       BASED ON APPROXIMATIONS IN C. HASTINGS, APPROXIMATIONS FOR
  35. C       DIGITAL COMPUTERS, PRINCETON UNIV. PRESS, PRINCETON, N.J.,
  36. C       1955.  SEE EQUATION 26.2.23, HANDBOOK OF MATHEMATICAL
  37. C       FUNCTIONS, ABRAMOWITZ AND STEGUN, DOVER PUBLICATIONS, INC.,
  38. C       NEW YORK.
  39. C
  40. C.......................................................................
  41. C
  42.       SUBROUTINE NDTRI(P,X,D,IE)
  43. C
  44.       IE=0
  45.       X=.99999E+38
  46.       D=X
  47.       IF(P)1,4,2
  48.     1 IE=-1
  49.       GO TO 12
  50.     2 IF (P-1.0)7,5,1
  51.     4 X=-.999999E+38
  52.     5 D=0.0
  53.       GO TO 12
  54. C
  55. C
  56.     7 D=P
  57.       IF(D-0.5)9,9,8
  58.     8 D=1.0-D
  59.     9 T2=ALOG(1.0/(D*D))
  60.       T=SQRT(T2)
  61.       X=T-(2.515517+0.802853*T+0.010328*T2)/(1.0+1.432788*T+0.189269*T2
  62.      1    +0.001308*T*T2)
  63.       IF(P-0.5)10,10,11
  64.    10 X=-X
  65.    11 D=0.3989423*EXP(-X*X/2.0)
  66.    12 RETURN
  67.       END
  68. 
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79. .515517+0.802853*T+0.010