!************************************************************************ !* Program by: Dr. D. Bala Subrahamanyam; E-mail: subbu_dbs@yahoo.com * !* Last modified: (ATJ/DBS) : Aug 26, 2010. * !************************************************************************ !* Subroutine for estimation of statistical parameters from 1-D array * !* Input Parameters: * !* x = variable name * !* n = dimension of the array * !* iflg(n) = genuinity checking flag * !* Output Parameters: * !* xmean = mean value * !* xmin = minimum value * !* xmax = maximum value * !* minxl = location of first minimum value * !* maxxl = location of first maximum value * !* (WORD OF CAUTION: DONOT USE MINXL & MAXXL):ATJ 8th MAY 2010 * !* xvar = variance of the array * !* xstddv = standard deviation of the array * !************************************************************************ Subroutine stat_atj (x, n, iflg, xmean, xmin, xmax, minxl, & & maxxl, xvar, xstddv,xerr) Real,Dimension (n) :: x Integer,Dimension (n) :: iflg(n) jck = 0 sumx = 0. sumvx = 0. Do i = 1, n If (iflg(i)==1) then jck = jck + 1 If (jck==1) k = i If (x(i) <= x(k)) minxl = i If (x(i) <= x(k)) xmin1 = x(i) If (x(i) >= x(k)) maxxl = i If (x(i) >= x(k)) xmax1 = x(i) sumx = sumx + x(i) Endif Enddo xmean = sumx/float(jck) Do i = 1, n If (iflg(i)==1) then varx = (x(i) - xmean)**2 sumvx = sumvx + varx Endif Enddo xvar = sumvx/float(jck-1) xstddv = sqrt(xvar) xerr = xstddv/sqrt(float(jck)) Return End