Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

PHP math suite

Name: Anonymous 2010-01-17 23:46

:3

<?php

$input = '151, 145, 130, 152, 150, 158, 155, 172, 172, 156, 160, 134, 157';
$dataset = preg_split('/[^0-9-.]/', $input, -1, PREG_SPLIT_NO_EMPTY);
sort($dataset);

$v['ordered_list'] = implode($dataset, ' ');
$v['count'] = count($dataset);
$v['mean'] = array_sum($dataset) / $v['count'];

$mid_key = $v['count'] / 2;
if($v['count'] & 1)
{
    $v['median'] = ($dataset[$mid_key] + $dataset[$mid_key + 1]) / 2;
}
else
{
    $v['median'] = $dataset[$mid_key];
}

$v['third_quartile'] = $dataset[(3 * $v['count'] + 3) / 4];
$v['first_quartile'] = $dataset[($v['count'] + 1) / 4];
$v['iqr'] = $v['third_quartile'] - $v['first_quartile'];
$v['outlier_min'] = $v['first_quartile'] - ($v['iqr'] * 1.5);
$v['outlier_max'] = $v['third_quartile'] + ($v['iqr'] * 1.5);
$v['num_outliers'] = 0;
$sd_sum = 0;

foreach($dataset as $value)
{
    if($value < $v['outlier_min'] || $value > $v['outlier_max'])
    {
        $v['num_outliers']++;
    }
   
    $sd_sum += pow($value - $v['mean'], 2);    
}
$v['variance'] = $sd_sum / $v['count'];
$v['standard_deviation'] = sqrt($v['variance']);

foreach($v as $name => $value)
{
    echo '<div><strong>' . $name . '</strong>: ' . $value . '</div>';
}

?>

Name: Anonymous 2010-01-18 2:35

COOL CODE BRO

Name: Anonymous 2010-12-23 10:35

Don't change these.
Name: Email:
Entire Thread Thread List