Program g02qffe ! G02QFF Example Program Text ! Mark 24 Release. NAG Copyright 2012. ! .. Use Statements .. Use nag_library, Only: g02qff, nag_wp ! .. Implicit None Statement .. Implicit None ! .. Parameters .. Integer, Parameter :: nin = 5, nout = 6 ! .. Local Scalars .. Real (Kind=nag_wp) :: df Integer :: i, ifail, j, l, m, n, ntau ! .. Local Arrays .. Real (Kind=nag_wp), Allocatable :: b(:,:), bl(:,:), bu(:,:), tau(:), & x(:,:), y(:) Integer, Allocatable :: info(:) ! .. Executable Statements .. Write (nout,*) 'G02QFF Example Program Results' Write (nout,*) ! Skip heading in data file Read (nin,*) ! Read in the problem size Read (nin,*) n, m, ntau ! Read in the data Allocate (y(n),tau(ntau),x(n,m)) Read (nin,*)(x(i,1:m),y(i),i=1,n) ! Read in the quantiles required Read (nin,*) tau(1:ntau) ! Allocate memory for output arrays Allocate (b(m,ntau),info(ntau),bl(m,ntau),bu(m,ntau)) ! Call the model fitting routine ifail = -1 Call g02qff(n,m,x,y,ntau,tau,df,b,bl,bu,info,ifail) If (ifail/=0) Then If (ifail==111) Then Write (nout,*) 'Additional error information (INFO): ', info(1:ntau) Else Go To 100 End If End If ! Display the parameter estimates Do l = 1, ntau Write (nout,99999) 'Quantile: ', tau(l) Write (nout,*) Write (nout,*) ' Lower Parameter Upper' Write (nout,*) ' Limit Estimate Limit' Do j = 1, m Write (nout,99998) j, bl(j,l), b(j,l), bu(j,l) End Do Write (nout,*) Write (nout,*) End Do 100 Continue 99999 Format (1X,A,F6.3) 99998 Format (1X,I3,3(3X,F7.3)) End Program g02qffe