Generates a vector of random variates from an F distribution, also called the Fisher’s variance ratio distribution, with probability density function, \(f (X)\), where:
\[f(X) = \frac{\left(\frac{\mu + v - 2}{2}\right)! \,
X^{\left(\frac{\mu}{2} - 1\right)} \, \mu^{\frac{\mu}{2}}}
{\left(\frac{\mu}{2} - 1\right)! \, \left(\frac{v}{2} - 1\right)! \,
\left(1 + \frac{\mu X}{v}\right)^{\frac{\mu + v}{2}} \, v^{\frac{\mu}{2}}}\]
if \(X > 0\), otherwise \(f (X) = 0\). Here μ is the first degrees of freedom, (DF1) and ν is the second degrees of freedom, (DF2).
C Generate 100 values from the F distribution
INTEGER LSTATE,N
PARAMETER (LSTATE=16,N=100)
INTEGER I,INFO,SEED(1),STATE(LSTATE)
INTEGER DF1,DF2
DOUBLE PRECISION X(N)
C Set the seed
SEED(1) = 1234
C Read in the distributional parameters
READ(5,*) DF1,DF2
C Initialize the STATE vector
CALL DRANDINITIALIZE(1,1,SEED,1,STATE,LSTATE,INFO)
C Generate N variates from the F distribution
CALL DRANDF(N,DF1,DF2,STATE,X,INFO)
C Print the results
WRITE(6,*) (X(I),I=1,N)