AVG
Name
AVG
Purpose
Return the average value of an array, or 1 dimension of an array
Explanation
Calculate the average value of an array, or calculate the average
value over one dimension of an array as a function of all the other
dimensions.
In 2009, a DIMENSION keyword was added to the IDL MEAN() function,
giving it the same capability as AVG(). Thus, the use of AVG() is now
**deprecated** in favor of the MEAN() function.
Calling Sequence
RESULT = AVG( ARRAY, [ DIMENSION, /NAN, /DOUBLE ] )
Inputs
ARRAY = Input array. May be any type except string.
Optional Input Parameters
DIMENSION = Optional dimension to do average over, integer scalar
Optional Keyword Input
/NAN - Set this keyword to cause the routine to check for occurrences of
the IEEE floating-point value NaN in the input data. Elements with
the value NaN are treated as missing data.
/DOUBLE - By default, if the input Array is double-precision, complex,
or double complex, the result is of the same type; 64 bit
integers are also returned as double. Otherwise the result
the result is floating-point. Use of the /DOUBLE keyword
forces a double precision output. Note that internal
computations are always done in double precision.
Outputs
The average value of the array when called with one parameter.
If DIMENSION is passed, then the result is an array with all the
dimensions of the input array except for the dimension specified,
each element of which is the average of the corresponding vector
in the input array.
For example, if A is an array with dimensions of (3,4,5), then the
command B = AVG(A,1) is equivalent to
B = FLTARR(3,5)
FOR J = 0,4 DO BEGIN
FOR I = 0,2 DO BEGIN
B[I,J] = TOTAL( A[I,*,J] ) / 4.
ENDFOR
ENDFOR
Restrictions
Dimension specified must be valid for the array passed; otherwise the
input array is returned as the output array.
Procedure
AVG(ARRAY) = TOTAL(ARRAY, /DOUBLE)/N_ELEMENTS(ARRAY) when called with
one parameter.
Modification History
William Thompson Applied Research Corporation
July, 1986 8201 Corporate Drive
Landover, MD 20785
Converted to Version 2 July, 1990
Replace SUM call with TOTAL W. Landsman May, 1992
Converted to IDL V5.0 W. Landsman September 1997
Added /NAN keyword W. Landsman July 2000
Accept a scalar input value W. Landsman/jimm@berkeley November 2000
Internal calculations always in double precision W. Landsman March 2002
Return NAN if all values in array are NAN W. Landsman April 2002
Fixed coding bug if all values in array are NAN W. Landsman Jan 2004