Re: calculate an average

From: Brian Harnish (bharnish_at_technologist.com)
Date: 10/29/03


Date: Wed, 29 Oct 2003 19:51:52 GMT


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Thu, 30 Oct 2003 05:57:32 -0800, Jack wrote:

> I need to calculate an average of every last-3-values.
[snip...]
> I feel there is a better way or faster code than this

Try this:

# Assumes that scalar(@data) >= 3
my @data = 1..10;
my $avg = $data[0];
foreach (1..$#data) {
  $avg += $data[$_];
  $avg -= $data[$_-3] if($_>2);
  print $avg/3 if ($_ >= 2);
}
__END__

 - Brian
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/oBpmiK/rA3tCpFYRAnBoAJ9aydbV4k7XXeabELeGSHW1x8A/mQCgksuC
XNYn5odaocxpgZMNfAv4NHs=
=EevM
-----END PGP SIGNATURE-----



Relevant Pages