Program g01abfe ! G01ABF Example Program Text ! Mark 24 Release. NAG Copyright 2012. ! .. Use Statements .. Use nag_library, Only: g01abf, nag_wp ! .. Implicit None Statement .. Implicit None ! .. Parameters .. Integer, Parameter :: nin = 5, nout = 6 ! .. Local Scalars .. Integer :: i, ifail, iwt, n ! .. Local Arrays .. Real (Kind=nag_wp) :: res(13) Real (Kind=nag_wp), Allocatable :: wt(:), wtin(:), x1(:), x2(:) ! .. Executable Statements .. Write (nout,*) 'G01ABF Example Program Results' Write (nout,*) ! Skip heading in data file Read (nin,*) ! Read in the problem size Read (nin,*) n, iwt Allocate (wt(n),wtin(n),x1(n),x2(n)) ! Read in data Read (nin,*)(x1(i),x2(i),i=1,n) If (iwt==1) Then Read (nin,*) wtin(1:n) wt(1:n) = wtin(1:n) End If ! Display data Write (nout,99999) 'Number of cases', n Write (nout,*) 'Data as input -' Write (nout,*) ' Var 1 Var 2 Var 1 & & Var 2 Var 1 Var 2' Write (nout,99995)(x1(i),x2(i),i=1,n) If (iwt==1) Then Write (nout,*) 'Weights as input -' Write (nout,99994) wtin(1:n) End If Write (nout,*) ! Calculate summary statistics ifail = -1 Call g01abf(n,x1,x2,iwt,wt,res,ifail) If (ifail/=0) Then If (ifail/=2) Then Go To 100 End If End If ! Display results Write (nout,99999) 'No. of valid cases', iwt Write (nout,99993) 'Variable 1', 'Variable 2' Write (nout,99998) 'Mean ', res(1), res(2) Write (nout,99997) 'Corr SSP', res(5), res(6), res(7) Write (nout,99998) 'Minimum ', res(9), res(11) Write (nout,99998) 'Maximum ', res(10), res(12) Write (nout,99998) 'Sum of weights ', res(13) If (ifail==0) Then Write (nout,99998) 'Std devn', res(3), res(4) Write (nout,99996) 'Correln ', res(8) Else Write (nout,*) 'Std devn and Correln not defined' End If 100 Continue 99999 Format (1X,A,I5) 99998 Format (1X,A,F15.1,F30.1) 99997 Format (1X,A,3E15.5) 99996 Format (1X,A,F30.4) 99995 Format (5X,6F11.1) 99994 Format (13X,F9.3) 99993 Format (13X,A,20X,A) End Program g01abfe