* G02LDF Example Program Text * Mark 22 Release. NAG Copyright 2008. * .. Parameters .. INTEGER NIN, NOUT PARAMETER (NIN=5,NOUT=6) INTEGER NMAX, MZMAX, MYMAX PARAMETER (NMAX=25,MZMAX=28,MYMAX=10) * .. Local Scalars .. INTEGER I, IFAIL, IP, ISCALE, J, L, LDB, LDYHAT, LDZ, MY, + MZ, N, ORIG * .. Local Arrays .. DOUBLE PRECISION B(MZMAX+1,MYMAX), XBAR(MZMAX), XSTD(MZMAX), + YBAR(MYMAX), YHAT(NMAX,MYMAX), YSTD(MYMAX), + Z(NMAX,MZMAX) INTEGER ISZ(MZMAX) * .. External Subroutines .. EXTERNAL G02LDF, X04CAF * .. Executable Statements .. WRITE (NOUT,*) 'G02LDF example program results' * Skip header in data file. READ (NIN,*) * Read data values. READ (NIN,*) IP, MY, ORIG, ISCALE, N, MZ LDB = MZMAX + 1 LDYHAT = NMAX LDZ = NMAX * Read prediction x-data DO I = 1, N READ (NIN,*) (Z(I,J),J=1,MZ) END DO * Read elements of ISZ READ (NIN,*) (ISZ(J),J=1,MZ) * Read parameter estimates L = IP IF (ORIG.NE.-1) L = L + 1 READ (NIN,*) ((B(J,I),I=1,MY),J=1,L) * Read means READ (NIN,*) (XBAR(J),J=1,IP) READ (NIN,*) (YBAR(L),L=1,MY) IF ((ORIG.EQ.-1) .AND. (ISCALE.NE.-1)) THEN READ (NIN,*) (XSTD(J),J=1,IP) READ (NIN,*) (YSTD(L),L=1,MY) END IF * Calculate predictions IFAIL = 1 CALL G02LDF(IP,MY,ORIG,XBAR,YBAR,ISCALE,XSTD,YSTD,B,LDB,N,MZ,ISZ, + Z,LDZ,YHAT,LDYHAT,IFAIL) IF (IFAIL.NE.0) THEN WRITE (NOUT,99999) IFAIL ELSE CALL X04CAF('G','X',N,MY,YHAT,LDYHAT,'YHAT',IFAIL) END IF * 99999 FORMAT (1X,/1X,' ** G02LDF returned with IFAIL = ',I5) END