Пример #1
0
<?php

$myArray = array(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0);
$arithmetic = round(arithmeticMean($myArray), 6);
$geometric = round(geometricMean($myArray), 6);
$harmonic = round(harmonicMean($myArray), 6);
echo 'A = ' . $arithmetic . ' G = ' . $geometric . ' H = ' . $harmonic;
printf("A >= G is %s, G >= H is %s", $arithmetic >= $geometric ? 'true' : 'false', $geometric >= $harmonic ? 'true' : 'false');
function arithmeticMean($numbers = array())
{
    if (empty($numbers)) {
        return null;
    }
    $mean = 0.0;
    foreach ($numbers as $number) {
        $mean += $number;
    }
    return $mean / count($numbers);
}
function geometricMean($numbers = array())
{
    if (empty($numbers)) {
        return null;
    }
    $mean = 1.0;
    foreach ($numbers as $number) {
        $mean *= $number;
    }
    return pow($mean, 1.0 / count($numbers));
}
function harmonicMean($numbers = array())
 public function testHarmonicMean()
 {
     $result = harmonicMean($this->test_array);
     $this->assertInternalType("float", $result);
 }