annotate libcruft/ranlib/tstmid.for @ 5103:e2ed74b9bfa0 after-gnuplot-split

[project @ 2004-12-28 02:43:01 by jwe]
author jwe
date Tue, 28 Dec 2004 02:43:01 +0000
parents df7c57a6639d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
1 SUBROUTINE stat(x,n,av,var,xmin,xmax)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
2 C**********************************************************************
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
3 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
4 C SUBROUTINE STAT( X, N, AV, VAR)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
5 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
6 C compute STATistics
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
7 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
8 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
9 C Function
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
10 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
11 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
12 C Computes AVerage and VARiance of array X(N).
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
13 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
14 C**********************************************************************
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
15 C .. Scalar Arguments ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
16 REAL av,var,xmax,xmin
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
17 INTEGER n
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
18 C ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
19 C .. Array Arguments ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
20 REAL x(n)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
21 C ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
22 C .. Local Scalars ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
23 REAL sum
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
24 INTEGER i
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
25 C ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
26 C .. Intrinsic Functions ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
27 INTRINSIC real
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
28 C ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
29 C .. Executable Statements ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
30 xmin = x(1)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
31 xmax = x(1)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
32 sum = 0.0
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
33 DO 10,i = 1,n
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
34 sum = sum + x(i)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
35 IF (x(i).LT.xmin) xmin = x(i)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
36 IF (x(i).GT.xmax) xmax = x(i)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
37 10 CONTINUE
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
38 av = sum/real(n)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
39 sum = 0.0
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
40 DO 20,i = 1,n
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
41 sum = sum + (x(i)-av)**2
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
42 20 CONTINUE
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
43 var = sum/real(n-1)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
44 RETURN
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
45
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
46 END
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
47 PROGRAM tstall
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
48 IMPLICIT LOGICAL (q)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
49 C Interactive test for PHRTSD
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
50 C .. Parameters ..
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
51 INTEGER mxwh,mxncat
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
52 PARAMETER (mxwh=15,mxncat=100)
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
53 C ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
54 C .. Local Scalars ..
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
55 REAL av,avtr,var,vartr,xmin,xmax,pevt,psum,rtry
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
56 INTEGER i,is1,is2,itmp,iwhich,j,mxint,nperm,nrep,ntot,ntry,ncat
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
57 CHARACTER type*4,phrase*100
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
58 C ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
59 C .. Local Arrays ..
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
60 REAL array(1000),param(3),prob(mxncat)
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
61 INTEGER iarray(1000),perm(500)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
62 C ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
63 C .. External Functions ..
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
64 REAL genbet,genchi,genf,gennch,gennf,genunf,genexp,gengam,gennor
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
65 INTEGER ignuin,ignnbn
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
66 EXTERNAL genbet,genchi,genf,gennch,gennf,genunf,ignuin
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
67 C ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
68 C .. External Subroutines ..
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
69 EXTERNAL genprm,phrtsd,setall,stat,trstat,genmul
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
70 C ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
71 C .. Executable Statements ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
72 WRITE (*,9000)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
73
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
74 9000 FORMAT (' Tests most generators of specific distributions.'/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
75 + ' Generates 1000 deviates: reports mean and variance.'/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
76 + ' Also reports theoretical mean and variance.'/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
77 + ' If theoretical mean or var doesn''t exist prints -1.'/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
78 + ' For permutations, generates one permutation of 1..n'/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
79 + ' and prints it.'/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
80 + ' For uniform integers asks for upper bound, number of'/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
81 + ' replicates per integer in 1..upper bound.'/
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
82 + ' Prints table of num times each integer generated.'/
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
83 + ' For multinomial asks for number of events to be'/
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
84 + ' classified, number of categories in which they'/
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
85 + ' are to be classified, and the probabilities that'/
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
86 + ' an event will be classified in the categories,'/
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
87 + ' for all but the last category. Prints table of'/
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
88 + ' number of events by category, true probability'/
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
89 + ' associated with each category, and observed'/
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
90 + ' proportion of events in each category.')
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
91 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
92 C Menu for choosing tests
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
93 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
94 10 WRITE (*,9010)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
95
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
96 9010 FORMAT (' Enter number corresponding to choice:'/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
97 + ' (0) Exit this program'/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
98 + ' (1) Generate Chi-Square deviates'/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
99 + ' (2) Generate noncentral Chi-Square deviates'/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
100 + ' (3) Generate F deviates'/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
101 + ' (4) Generate noncentral F deviates'/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
102 + ' (5) Generate random permutation'/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
103 + ' (6) Generate uniform integers'/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
104 + ' (7) Generate uniform reals'/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
105 + ' (8) Generate beta deviates'/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
106 + ' (9) Generate binomial outcomes'/
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
107 + ' (10) Generate Poisson outcomes'/
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
108 + ' (11) Generate exponential deviates'/
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
109 + ' (12) Generate gamma deviates'/
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
110 + ' (13) Generate multinomial outcomes'/
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
111 + ' (14) Generate normal deviates'/
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
112 + ' (15) Generate negative binomial outcomes'/)
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
113
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
114 READ (*,*) iwhich
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
115 IF (.NOT. (iwhich.LT.0.OR.iwhich.GT.mxwh)) GO TO 20
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
116 WRITE (*,*) ' Choices are 1..',mxwh,' - try again.'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
117 GO TO 10
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
118
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
119 20 IF (iwhich.EQ.0) STOP ' Normal termination rn tests'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
120 WRITE (*,*) ' Enter phrase to initialize rn generator'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
121 READ (*,'(a)') phrase
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
122 CALL phrtsd(phrase,is1,is2)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
123 CALL setall(is1,is2)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
124
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
125 IF ((1).NE. (iwhich)) GO TO 40
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
126 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
127 C Chi-square deviates
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
128 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
129 type = 'chis'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
130 WRITE (*,*) ' Enter (real) df for the chi-square generation'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
131 READ (*,*) param(1)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
132 DO 30,i = 1,1000
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
133 array(i) = genchi(param(1))
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
134 30 CONTINUE
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
135 CALL stat(array,1000,av,var,xmin,xmax)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
136 CALL trstat(type,param,avtr,vartr)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
137 WRITE (*,9020) av,avtr,var,vartr,xmin,xmax
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
138
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
139 9020 FORMAT (' Mean Generated: ',T30,G15.7,5X,'True:',T60,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
140 + G15.7/' Variance Generated:',T30,G15.7,5X,'True:',T60,
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
141 + G15.7/' Minimum: ',T30,G15.7,5X,'Maximum:',T60,G15.7)
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
142
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
143 GO TO 420
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
144
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
145 40 IF ((2).NE. (iwhich)) GO TO 60
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
146
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
147 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
148 C Noncentral Chi-square deviates
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
149 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
150 type = 'ncch'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
151 WRITE (*,*) ' Enter (real) df'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
152 WRITE (*,*) ' (real) noncentrality parameter'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
153 READ (*,*) param(1),param(2)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
154 DO 50,i = 1,1000
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
155 array(i) = gennch(param(1),param(2))
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
156 50 CONTINUE
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
157 CALL stat(array,1000,av,var,xmin,xmax)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
158 CALL trstat(type,param,avtr,vartr)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
159 WRITE (*,9020) av,avtr,var,vartr,xmin,xmax
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
160 GO TO 420
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
161
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
162 60 IF ((3).NE. (iwhich)) GO TO 80
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
163
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
164 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
165 C F deviates
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
166 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
167 type = 'f'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
168 WRITE (*,*) ' Enter (real) df of the numerator'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
169 WRITE (*,*) ' (real) df of the denominator'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
170 READ (*,*) param(1),param(2)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
171 DO 70,i = 1,1000
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
172 array(i) = genf(param(1),param(2))
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
173 70 CONTINUE
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
174 CALL stat(array,1000,av,var,xmin,xmax)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
175 CALL trstat(type,param,avtr,vartr)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
176 WRITE (*,9020) av,avtr,var,vartr,xmin,xmax
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
177 GO TO 420
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
178
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
179 80 IF ((4).NE. (iwhich)) GO TO 100
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
180
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
181 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
182 C Noncentral F deviates
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
183 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
184 type = 'ncf'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
185 WRITE (*,*) ' Enter (real) df of the numerator'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
186 WRITE (*,*) ' (real) df of the denominator'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
187 WRITE (*,*) ' (real) noncentrality parameter'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
188 READ (*,*) param(1),param(2),param(3)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
189 DO 90,i = 1,1000
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
190 array(i) = gennf(param(1),param(2),param(3))
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
191 90 CONTINUE
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
192 CALL stat(array,1000,av,var,xmin,xmax)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
193 CALL trstat(type,param,avtr,vartr)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
194 WRITE (*,9020) av,avtr,var,vartr,xmin,xmax
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
195 GO TO 420
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
196
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
197 100 IF ((5).NE. (iwhich)) GO TO 140
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
198
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
199 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
200 C Random permutation
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
201 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
202 110 WRITE (*,*) ' Enter size of permutation'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
203 READ (*,*) nperm
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
204 IF (.NOT. (nperm.LT.1.OR.nperm.GT.500)) GO TO 120
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
205 WRITE (*,*) ' Permutation size must be between 1 and 500 ',
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
206 + '- try again!'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
207 GO TO 110
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
208
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
209 120 WRITE (*,*) ' Random Permutation Generated - Size',nperm
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
210 DO 130,i = 1,500
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
211 perm(i) = i
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
212 130 CONTINUE
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
213 CALL genprm(perm,nperm)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
214 WRITE (*,*) ' Perm Generated'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
215 WRITE (*,'(20I4)') (perm(i),i=1,nperm)
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
216 GO TO 420
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
217
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
218 140 IF ((6).NE. (iwhich)) GO TO 170
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
219
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
220 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
221 C Uniform integer
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
222 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
223 WRITE (*,*) ' Enter maximum uniform integer'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
224 READ (*,*) mxint
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
225 WRITE (*,*) ' Enter number of replications per integer'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
226 READ (*,*) nrep
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
227 DO 150,i = 1,1000
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
228 iarray(i) = 0
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
229 150 CONTINUE
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
230 ntot = mxint*nrep
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
231 DO 160,i = 1,ntot
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
232 itmp = ignuin(1,mxint)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
233 iarray(itmp) = iarray(itmp) + 1
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
234 160 CONTINUE
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
235 WRITE (*,*) ' Counts of Integers Generated'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
236 WRITE (*,'(20I4)') (iarray(j),j=1,mxint)
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
237 GO TO 420
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
238
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
239 170 IF ((7).NE. (iwhich)) GO TO 190
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
240
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
241 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
242 C Uniform real
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
243 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
244 type = 'unif'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
245 WRITE (*,*) ' Enter Low then High bound for uniforms'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
246 READ (*,*) param(1),param(2)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
247 DO 180,i = 1,1000
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
248 array(i) = genunf(param(1),param(2))
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
249 180 CONTINUE
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
250 CALL stat(array,1000,av,var,xmin,xmax)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
251 CALL trstat(type,param,avtr,vartr)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
252 WRITE (*,9020) av,avtr,var,vartr,xmin,xmax
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
253 GO TO 420
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
254
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
255 190 IF ((8).NE. (iwhich)) GO TO 210
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
256
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
257 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
258 C Beta deviate
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
259 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
260 type = 'beta'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
261 WRITE (*,*) ' Enter A, B for Beta deviate'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
262 READ (*,*) param(1),param(2)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
263 DO 200,i = 1,1000
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
264 array(i) = genbet(param(1),param(2))
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
265 200 CONTINUE
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
266 CALL stat(array,1000,av,var,xmin,xmax)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
267 CALL trstat(type,param,avtr,vartr)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
268 WRITE (*,9020) av,avtr,var,vartr,xmin,xmax
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
269 GO TO 420
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
270
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
271 210 IF ((9).NE. (iwhich)) GO TO 240
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
272
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
273 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
274 C Binomial outcomes
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
275 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
276 type = 'bin'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
277 WRITE (*,*) ' Enter number of trials, Prob event for ',
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
278 + 'binomial outcomes'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
279 READ (*,*) ntry,pevt
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
280 DO 220,i = 1,1000
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
281 iarray(i) = ignbin(ntry,pevt)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
282 220 CONTINUE
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
283 DO 230,i = 1,1000
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
284 array(i) = iarray(i)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
285 230 CONTINUE
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
286 CALL stat(array,1000,av,var,xmin,xmax)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
287 param(1) = ntry
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
288 param(2) = pevt
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
289 CALL trstat(type,param,avtr,vartr)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
290 WRITE (*,9020) av,avtr,var,vartr,xmin,xmax
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
291 GO TO 420
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
292
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
293 240 IF ((10).NE. (iwhich)) GO TO 270
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
294
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
295 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
296 C Poisson outcomes
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
297 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
298 type = 'pois'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
299 WRITE (*,*) ' Enter mean for Poisson generation'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
300 READ (*,*) param(1)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
301 DO 250,i = 1,1000
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
302 iarray(i) = ignpoi(param(1))
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
303 250 CONTINUE
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
304 DO 260,i = 1,1000
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
305 array(i) = iarray(i)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
306 260 CONTINUE
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
307 CALL stat(array,1000,av,var,xmin,xmax)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
308 CALL trstat(type,param,avtr,vartr)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
309 WRITE (*,9020) av,avtr,var,vartr,xmin,xmax
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
310 GO TO 420
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
311
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
312 270 IF ((11).NE. (iwhich)) GO TO 290
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
313
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
314 C
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
315 C Exponential deviates
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
316 C
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
317 type = 'expo'
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
318 WRITE (*,*) ' Enter (real) AV for Exponential'
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
319 READ (*,*) param(1)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
320 DO 280,i = 1,1000
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
321 array(i) = genexp(param(1))
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
322 280 CONTINUE
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
323 CALL stat(array,1000,av,var,xmin,xmax)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
324 CALL trstat(type,param,avtr,vartr)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
325 WRITE (*,9020) av,avtr,var,vartr,xmin,xmax
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
326
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
327 GO TO 420
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
328
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
329 290 IF ((12).NE. (iwhich)) GO TO 310
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
330
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
331 C
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
332 C Gamma deviates
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
333 C
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
334 type = 'gamm'
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
335 WRITE (*,*) ' Enter (real) A, (real) R for Gamma deviate'
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
336 READ (*,*) param(1),param(2)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
337 DO 300,i = 1,1000
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
338 array(i) = gengam(param(1),param(2))
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
339 300 CONTINUE
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
340 CALL stat(array,1000,av,var,xmin,xmax)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
341 CALL trstat(type,param,avtr,vartr)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
342 WRITE (*,9020) av,avtr,var,vartr,xmin,xmax
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
343 GO TO 420
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
344
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
345 310 IF ((13).NE. (iwhich)) GO TO 360
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
346
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
347 C
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
348 C Multinomial outcomes
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
349 C
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
350 WRITE (*,*) ' Enter (int) number of observations: '
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
351 READ (*,*) ntry
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
352 320 WRITE (*,*) ' Enter (int) num. of categories: <= ',mxncat
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
353 READ (*,*) ncat
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
354 IF (ncat.GT.mxncat) THEN
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
355 WRITE (*,*) ' number of categories must be <= ',mxncat
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
356 WRITE (*,*) ' Try again ... '
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
357 GO TO 320
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
358 END IF
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
359 WRITE (*,*) ' Enter (real) prob. vector of length ',ncat-1
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
360 READ (*,*) (prob(i),i=1,ncat-1)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
361 CALL genmul(ntry,prob,ncat,iarray)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
362 ntot = 0
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
363 IF (ntry.GT.0) THEN
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
364 rtry = real(ntry)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
365 DO 330, i = 1,ncat
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
366 ntot = ntot + iarray(i)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
367 array(i) = iarray(i)/rtry
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
368 330 CONTINUE
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
369 ELSE
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
370 DO 340, i = 1,ncat
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
371 ntot = ntot + iarray(i)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
372 array(i) = 0.0
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
373 340 CONTINUE
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
374 ENDIF
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
375 psum = 0.0
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
376 DO 350, i = 1,ncat-1
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
377 psum = psum + prob(i)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
378 350 CONTINUE
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
379 prob(ncat) = 1.0 - psum
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
380
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
381 WRITE (*,*) ' Total number of observations: ',ntot
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
382 WRITE (*,*) ' Total observations by category: '
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
383 WRITE (*,'(10I8)') (iarray(i),i=1,ncat)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
384 WRITE (*,*) ' True probabilities by category: '
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
385 WRITE (*,'(8F10.7)') (prob(i),i=1,ncat)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
386 WRITE (*,*) ' Observed proportions by category: '
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
387 WRITE (*,'(8F10.7)') (array(i),i=1,ncat)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
388 GO TO 420
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
389
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
390 360 IF ((14).NE. (iwhich)) GO TO 380
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
391
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
392 C
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
393 C Normal deviates
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
394 C
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
395 type = 'norm'
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
396 WRITE (*,*) ' Enter (real) AV, (real) SD for Normal'
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
397 READ (*,*) param(1),param(2)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
398 DO 370,i = 1,1000
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
399 array(i) = gennor(param(1),param(2))
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
400 370 CONTINUE
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
401 CALL stat(array,1000,av,var,xmin,xmax)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
402 CALL trstat(type,param,avtr,vartr)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
403 WRITE (*,9020) av,avtr,var,vartr,xmin,xmax
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
404 GO TO 420
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
405
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
406 380 IF ((15).NE. (iwhich)) GO TO 410
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
407
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
408 C
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
409 C Negative Binomial outcomes
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
410 C
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
411 type = 'nbin'
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
412 WRITE (*,*) ' Enter required (int) Number of events then '
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
413 WRITE (*,*) ' (real) Prob of an event for negative binomial'
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
414 READ (*,*) ntry,pevt
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
415 DO 390,i = 1,1000
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
416 iarray(i) = ignnbn(ntry,pevt)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
417 390 CONTINUE
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
418 DO 400,i = 1,1000
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
419 array(i) = iarray(i)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
420 400 CONTINUE
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
421 CALL stat(array,1000,av,var,xmin,xmax)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
422 param(1) = ntry
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
423 param(2) = pevt
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
424 CALL trstat(type,param,avtr,vartr)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
425 WRITE (*,9020) av,avtr,var,vartr,xmin,xmax
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
426 GO TO 420
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
427
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
428 410 CONTINUE
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
429 420 GO TO 10
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
430
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
431 END
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
432 SUBROUTINE trstat(type,parin,av,var)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
433 IMPLICIT INTEGER (i-n),REAL (a-h,o-p,r-z),LOGICAL (q)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
434 C**********************************************************************
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
435 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
436 C SUBROUTINE TRSTAT( TYPE, PARIN, AV, VAR )
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
437 C TRue STATistics
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
438 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
439 C Returns mean and variance for a number of statistical distribution
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
440 C as a function of their parameters.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
441 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
442 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
443 C Arguments
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
444 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
445 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
446 C TYPE --> Character string indicating type of distribution
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
447 C 'chis' chisquare
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
448 C 'ncch' noncentral chisquare
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
449 C 'f' F (variance ratio)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
450 C 'ncf' noncentral f
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
451 C 'unif' uniform
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
452 C 'beta' beta distribution
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
453 C 'bin' binomial
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
454 C 'pois' poisson
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
455 C 'expo' exponential
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
456 C 'gamm' gamma
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
457 C 'norm' normal
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
458 C 'nbin' negative binomial
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
459 C CHARACTER*(4) TYPE
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
460 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
461 C PARIN --> Array containing parameters of distribution
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
462 C chisquare
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
463 C PARIN(1) is df
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
464 C noncentral chisquare
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
465 C PARIN(1) is df
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
466 C PARIN(2) is noncentrality parameter
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
467 C F (variance ratio)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
468 C PARIN(1) is df numerator
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
469 C PARIN(2) is df denominator
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
470 C noncentral F
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
471 C PARIN(1) is df numerator
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
472 C PARIN(2) is df denominator
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
473 C PARIN(3) is noncentrality parameter
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
474 C uniform
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
475 C PARIN(1) is LOW bound
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
476 C PARIN(2) is HIGH bound
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
477 C beta
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
478 C PARIN(1) is A
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
479 C PARIN(2) is B
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
480 C binomial
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
481 C PARIN(1) is Number of trials
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
482 C PARIN(2) is Prob Event at Each Trial
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
483 C poisson
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
484 C PARIN(1) is Mean
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
485 C exponential
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
486 C PARIN(1) is Mean
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
487 C gamma
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
488 C PARIN(1) is A
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
489 C PARIN(2) is R
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
490 C normal
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
491 C PARIN(1) is Mean
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
492 C PARIN(2) is Standard Deviation
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
493 C negative binomial
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
494 C PARIN(1) is required Number of events
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
495 C PARIN(2) is Probability of event
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
496 C REAL PARIN(*)
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
497 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
498 C AV <-- Mean of specified distribution with specified parameters
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
499 C REAL AV
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
500 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
501 C VAR <-- Variance of specified distribution with specified paramete
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
502 C REAL VAR
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
503 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
504 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
505 C Note
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
506 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
507 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
508 C AV and Var will be returned -1 if mean or variance is infinite
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
509 C
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
510 C**********************************************************************
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
511 C .. Scalar Arguments ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
512 REAL av,var
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
513 CHARACTER type* (4)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
514 C ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
515 C .. Array Arguments ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
516 REAL parin(*)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
517 C ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
518 C .. Local Scalars ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
519 REAL a,b,range
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
520 C ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
521 C .. Executable Statements ..
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
522 IF (('chis').NE. (type)) GO TO 10
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
523 av = parin(1)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
524 var = 2.0*parin(1)
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
525 GO TO 210
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
526
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
527 10 IF (('ncch').NE. (type)) GO TO 20
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
528 a = parin(1) + parin(2)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
529 b = parin(2)/a
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
530 av = a
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
531 var = 2.0*a* (1.0+b)
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
532 GO TO 210
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
533
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
534 20 IF (('f').NE. (type)) GO TO 70
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
535 IF (.NOT. (parin(2).LE.2.0001)) GO TO 30
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
536 av = -1.0
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
537 GO TO 40
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
538
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
539 30 av = parin(2)/ (parin(2)-2.0)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
540 40 IF (.NOT. (parin(2).LE.4.0001)) GO TO 50
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
541 var = -1.0
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
542 GO TO 60
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
543
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
544 50 var = (2.0*parin(2)**2* (parin(1)+parin(2)-2.0))/
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
545 + (parin(1)* (parin(2)-2.0)**2* (parin(2)-4.0))
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
546 60 GO TO 210
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
547
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
548 70 IF (('ncf').NE. (type)) GO TO 120
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
549 IF (.NOT. (parin(2).LE.2.0001)) GO TO 80
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
550 av = -1.0
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
551 GO TO 90
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
552
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
553 80 av = (parin(2)* (parin(1)+parin(3)))/ ((parin(2)-2.0)*parin(1))
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
554 90 IF (.NOT. (parin(2).LE.4.0001)) GO TO 100
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
555 var = -1.0
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
556 GO TO 110
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
557
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
558 100 a = (parin(1)+parin(3))**2 + (parin(1)+2.0*parin(3))*
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
559 + (parin(2)-2.0)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
560 b = (parin(2)-2.0)**2* (parin(2)-4.0)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
561 var = 2.0* (parin(2)/parin(1))**2* (a/b)
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
562 110 GO TO 210
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
563
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
564 120 IF (('unif').NE. (type)) GO TO 130
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
565 range = parin(2) - parin(1)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
566 av = parin(1) + range/2.0
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
567 var = range**2/12.0
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
568 GO TO 210
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
569
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
570 130 IF (('beta').NE. (type)) GO TO 140
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
571 av = parin(1)/ (parin(1)+parin(2))
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
572 var = (av*parin(2))/ ((parin(1)+parin(2))*
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
573 + (parin(1)+parin(2)+1.0))
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
574 GO TO 210
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
575
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
576 140 IF (('bin').NE. (type)) GO TO 150
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
577 av = parin(1)*parin(2)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
578 var = av* (1.0-parin(2))
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
579 GO TO 210
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
580
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
581 150 IF (('pois').NE. (type)) GO TO 160
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
582 av = parin(1)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
583 var = parin(1)
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
584 GO TO 210
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
585
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
586 160 IF (('expo').NE. (type)) GO TO 170
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
587 av = parin(1)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
588 var = parin(1)**2
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
589 GO TO 210
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
590
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
591 170 IF (('gamm').NE. (type)) GO TO 180
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
592 av = parin(2) / parin(1)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
593 var = av / parin(1)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
594 GO TO 210
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
595
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
596 180 IF (('norm').NE. (type)) GO TO 190
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
597 av = parin(1)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
598 var = parin(2)**2
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
599 GO TO 210
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
600
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
601 190 IF (('nbin').NE. (type)) GO TO 200
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
602 av = parin(1) * (1.0 - parin(2)) / parin(2)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
603 var = av / parin(2)
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
604 GO TO 210
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
605
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
606 200 WRITE (*,*) 'Unimplemented type ',type
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
607 STOP 'Unimplemented type in TRSTAT'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
608
3188
df7c57a6639d [project @ 1998-10-15 06:02:21 by jwe]
jwe
parents: 2330
diff changeset
609 210 RETURN
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
610
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
611 END