Compute the arithmetic mean of a one-dimensional single-precision floating-point ndarray using ordinary recursive summation.
The arithmetic mean is defined as
var smeanors = require( '@stdlib/stats/base/ndarray/smeanors' );Computes the arithmetic mean of a one-dimensional single-precision floating-point ndarray using ordinary recursive summation.
var Float32Array = require( '@stdlib/array/float32' );
var ndarray = require( '@stdlib/ndarray/base/ctor' );
var xbuf = new Float32Array( [ 1.0, 3.0, 4.0, 2.0 ] );
var x = new ndarray( 'float32', xbuf, [ 4 ], [ 1 ], 0, 'row-major' );
var v = smeanors( [ x ] );
// returns 2.5The function has the following parameters:
- arrays: array-like object containing a one-dimensional input ndarray.
- If provided an empty one-dimensional ndarray, the function returns
NaN. - Ordinary recursive summation (i.e., a "simple" sum) is performant, but can incur significant numerical error. If performance is paramount and error tolerated, using ordinary recursive summation to compute an arithmetic mean is acceptable; in all other cases, exercise due caution.
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var ndarray = require( '@stdlib/ndarray/base/ctor' );
var ndarray2array = require( '@stdlib/ndarray/to-array' );
var smeanors = require( '@stdlib/stats/base/ndarray/smeanors' );
var xbuf = discreteUniform( 10, -50, 50, {
'dtype': 'float32'
});
var x = new ndarray( 'float32', xbuf, [ xbuf.length ], [ 1 ], 0, 'row-major' );
console.log( ndarray2array( x ) );
var v = smeanors( [ x ] );
console.log( v );