Initializes a reference vector for use with DRANDGENERALDISCRETE. Reference vector is for a Poisson distribution with probability \(f (X)\) defined by:
\[f (X) = \frac{\lambda^X e^{-\lambda}}{X!},X=0,1,\dotsi\]
where λ is the mean of the distribution, LAMBDA.
C Generate 100 values from the Poisson distribution
INTEGER LSTATE,N
PARAMETER (LSTATE=16,N=100)
INTEGER I,INFO,SEED(1),STATE(LSTATE)
DOUBLE PRECISION LAMBDA
INTEGER X(N)
INTEGER LREF
DOUBLE PRECISION REF(1000)
C Set the seed
SEED(1) = 1234
C Read in the distributional parameters
READ(5,*) LAMBDA
C Initialize the STATE vector
CALL DRANDINITIALIZE(1,1,SEED,1,STATE,LSTATE,INFO)
C Initialize the reference vector
LREF = 1000
CALL DRANDPOISSONREFERENCE(LAMBDA,REF,LREF,INFO)
C Generate N variates from the Poisson distribution
CALL DRANDGENERALDISCRETE(N,REF,STATE,X,INFO)
C Print the results
WRITE(6,*) (X(I),I=1,N)