Description :
This package provides some basic statistics on numerical vectors. All the subroutines can take a reference to the vector to be operated on. In some cases a copy of the vector is acceptable, but is not recommended for efficiency.
* max(AATTvector), max(\\AATTvector)
return the maximum value of given values or vector. In an array context returns the value and the index in the array where it occurs.
* min(AATTvector), min(\\AATTvector)
return the minimum value of given values or vector, In an array context returns the value and the index in the array where it occurs.
* maxabs(AATTvector), maxabs(\\AATTvector)
return the maximum value of absolute of the given values or vector. In an array context returns the value and the index in the array where it occurs.
* minabs(AATTvector), minabs(\\AATTvector)
return the minimum value of the absolute of the given values or vector. In an array context returns the value and the index in the array where it occurs.
* sum($v1,$v2,...), sum(AATTvector), sum(\\AATTvector)
return the sum of the given values or vector
* average($v1,$v2,..), average(AATTvector), average(\\AATTvector)
return the average of the given values or vector
* vecprod($a,$v1,$v2,..), vecprod($a,AATTvector), vecprod( $a, \\AATTvector )
return a vector built by multiplying the scalar $a by each element of the AATTvector.
* ordered($v1,$v2,..), ordered(AATTvector), ordered(\\AATTvector)
return nonzero iff the vector is nondecreasing with respect to its index. To be used like
if( ordered( $lowBound, $value, $highBound ) ){
instead of the (slightly) more clumsy
if( ($lowBound < = $value) && ($value < = $highBound) ) {
* sumbyelement( \\AATTarray1, \\AATTarray2 ), diffbyelement(\\AATTarray1,\\AATTarray2)
return the element-by-element sum or difference of two identically-sized vectors. Given
$s = sumbyelement( [10,20,30], [1,2,3] ); $d = diffbyelement( [10,20,30], [1,2,3] );
\'$s\' will be \'[11,22,33]\', \'$d\' will be \'[9,18,27]\'.
* allequal( \\AATTarray1, \\AATTarray2 )
returns true if and only if the two arrays are numerically identical.
* convolute( \\AATTarray1, \\AATTarray2 )
return a reference to an array containing the element-by-element product of the two input arrays. I.e.,
$r = convolute( [1,2,3], [-1,2,1] );
returns a reference to
[-1,4,3]
* median
evaluates the median, i.e. an element which separates the population in two halves. It returns a reference to a list whose first element is the median value and the second element is the index of the median element in the original vector.
$a = Math::VecStat::median( [9,8,7,6,5,4,3,2,1] );
returns the list reference
[ 5, 4 ]
i.e. the median value is 5 and it is found at position 4 of the original array.
If there are several elements of the array having the median value, e.g. [1,3,3,3,5]. In this case we choose always the first element in the original vector which is a median. In the example, we return [3,1].
|