项目中的学生端有处个人成长档案模块,要求依据学生近期十次考试成绩通过波动采集分析学生的成绩稳定性。学过数学都知道,这处应该利用数学中的方差来实现。由于是个数学渣,不得不网上看了下相关的说明和公式,见下图
好了,有了公式,那就好办了,接下来就是套公式了。
$arr1 = array(50, 100, 100, 60, 50); $arr2 = array(73, 70, 75, 72, 70); function variance($arr) { $length = count($arr); if ($length == 0) { return array(0,0); } $average = array_sum($arr)/$length; $count = 0; foreach ($arr as $v) { $count += pow($average-$v, 2); } $variance = $count/$length; return array('variance' => $variance, 'square' => sqrt($variance), 'average' => $average); } print_r(variance($arr1)); print_r(variance($arr2));
上述代码打印
Array ( [variance] => 536 [square] => 23.15167380558 [average] => 72 ) Array ( [variance] => 3.6 [square] => 1.897366596101 [average] => 72 )
通过查看数据发现,尽管两个数组的平均值是一样的,但数组1波动大,成绩不稳定,数组2波动小成绩较数组1稳定。
PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:
在线一元函数(方程)求解计算工具:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数学运算技巧总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》及《php常见数据库操作技巧汇总》