|
|
| |
VecStat(3) |
User Contributed Perl Documentation |
VecStat(3) |
Math::VecStat - Some basic numeric stats on vectors
use Math::VecStat qw(max min maxabs minabs sum average);
$max=max(@vector);
$max=max(\@vector);
($max,$imax)=max(@vector);
($max,$imax)=max(\@vector);
$min=min(@vector);
$min=min(\@vector);
($max,$imin)=min(@vector);
($max,$imin)=min(\@vector);
$max=maxabs(@vector);
$max=maxabs(\@vector);
($max,$imax)=maxabs(@vector);
($max,$imax)=maxabs(\@vector);
$min=minabs(@vector);
$min=minabs(\@vector);
($max,$imin)=minabs(@vector);
($max,$imin)=minabs(\@vector);
$sum=sum($v1,$v2,...);
$sum=sum(@vector);
$sum=sum(\@vector);
$average=average($v1,$v2,...);
$av=average(@vector);
$av=average(\@vector);
$ref=vecprod($scalar,\@vector);
$ok=ordered(@vector);
$ok=ordered(\@vector);
$ref=sumbyelement(\@vector1,\@vector2);
$ref=diffbyelement(\@vector1,\@vector2);
$ok=allequal(\@vector1,\@vector2);
$ref=convolute(\@vector1,\@vector2);
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(@vector), max(\@vector)
- 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(@vector), min(\@vector)
- 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(@vector), maxabs(\@vector)
- 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(@vector), minabs(\@vector)
- 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(@vector), sum(\@vector)
- return the sum of the given values or vector
- average($v1,$v2,..), average(@vector), average(\@vector)
- return the average of the given values or vector
- vecprod($a,$v1,$v2,..), vecprod($a,@vector), vecprod( $a, \@vector )
- return a vector built by multiplying the scalar $a
by each element of the @vector.
- ordered($v1,$v2,..), ordered(@vector), ordered(\@vector)
- 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( \@array1, \@array2 ), diffbyelement(\@array1,\@array2)
- 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( \@array1, \@array2 )
- returns true if and only if the two arrays are numerically identical.
- convolute( \@array1, \@array2 )
- 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].
$Log: VecStat.pm,v $
Revision 1.9 2003/04/20 00:49:00 spinellia@acm.org
Perl 5.8 broke test 36, exposing inconsistency in C<median>. Fixed, thanks to david@jamesgang.com.
Revision 1.8 2001/01/26 11:10:00 spinellia@acm.org
Added function median.
Fixed test, thanks to Andreas Marcel Riechert <riechert@pobox.com>
Revision 1.7 2000/10/24 15:28:00 spinellia@acm.org
Added functions allequal diffbyelement
Created a reasonable test suite.
Revision 1.6 2000/06/29 16:06:37 spinellia@acm.org
Added functions vecprod, convolute, sumbyelement
Revision 1.5 1997/02/26 17:20:37 willijar
Added line before pod header so pod2man installs man page correctly
Revision 1.4 1996/02/20 07:53:10 willijar
Added ability to return index in array contex to max and min
functions. Added minabs and maxabs functions.
Thanks to Mark Borges <mdb@cdc.noaa.gov> for these suggestions.
Revision 1.3 1996/01/06 11:03:30 willijar
Fixed stupid bug that crept into looping in min and max functions
Revision 1.2 1995/12/26 09:56:38 willijar
Oops - removed xy data functions.
Revision 1.1 1995/12/26 09:39:07 willijar
Initial revision
Let me know. I welcome any appropriate additions for this package.
John A.R. Williams <J.A.R.Williams@aston.ac.uk> Andrea Spinelli
<spinellia@acm.org>
Hey! The above document had some coding errors, which are explained
below:
- Around line 303:
- You forgot a '=back' before '=head1'
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |