]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.1.1.1 1996/04/01 15:02:42 mclareni | |
6 | * Mathlib gen | |
7 | * | |
8 | * | |
9 | #include "gen/pilot.h" | |
10 | FUNCTION STUDIS(T,N) | |
11 | C THIS ROUTINE COMPUTES THE DISTRIBUTION FUNCTION OF THE | |
12 | C STUDENT DISTRIBUTION WITH N DEGREES OF FREEDOM. | |
13 | C T=VALUE OF THE INDEPENDENT VARIABLE, | |
14 | C N=INTEGER GREATER THAN ZERO. | |
15 | C THE ROUTINE WAS WRITTEN BY B.E. COOPER,APPLIED STATISTICS, | |
16 | C 17(1968)189-190 | |
17 | C ALGORITHM AS3. THE METHOD WHICH IS THEORETICALLY EXACT WAS GIVEN BY | |
18 | C D.B. OWEN,BIOMETRIKA,52(1965),437-446. | |
19 | C AT LEAST 9 DECIMAL PLACES ARE CORRECT. | |
20 | DATA G1/0.31830988618379/ | |
21 | IF(N-1) 1,2,3 | |
22 | 2 STUDIS=0.5+G1*ATAN(T) | |
23 | RETURN | |
24 | 3 FN=N | |
25 | A=T/SQRT(FN) | |
26 | B=FN/(FN+T*T) | |
27 | S=1. | |
28 | N2=N-2 | |
29 | N3=MOD(N,2) | |
30 | IF(N2 .LT. 2) GO TO 4 | |
31 | C=1. | |
32 | K=2+N3 | |
33 | FK=K | |
34 | DO 5 I=K,N2,2 | |
35 | C=C*B*(FK-1.)/FK | |
36 | S=S+C | |
37 | 5 FK=FK+2. | |
38 | 4 IF(N3 .NE. 0) GO TO 6 | |
39 | STUDIS=0.5+0.5*A*SQRT(B)*S | |
40 | RETURN | |
41 | 6 STUDIS=0.5+(A*B*S+ATAN(A))*G1 | |
42 | RETURN | |
43 | 1 WRITE(6,7) N | |
44 | STOP | |
45 | 7 FORMAT(/10X,'DEGREE OF FREEDOM N=',I5,' IN STUDIS ILLEGAL'/) | |
46 | END |