PHP基于方差和标准差计算学生成绩的稳定性示例

yipeiwu_com7年前PHP代码库

本文实例讲述了PHP基于方差和标准差计算学生成绩的稳定性。分享给大家供大家参考,具体如下:

项目中的学生端有处个人成长档案模块,要求依据学生近期十次考试成绩通过波动采集分析学生的成绩稳定性。学过数学都知道,这处应该利用数学中的方差来实现。由于是个数学渣,不得不网上看了下相关的说明和公式,见下图

好了,有了公式,那就好办了,接下来就是套公式了。

$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:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.jb51.net/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.jb51.net/jisuanqi/jsq

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数学运算技巧总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法

在php命令行下执行.php文件时,执行环境的工作目录(getcwd( ))是php命令程序(php.exe)所在目录,所以如果想在文件内使用相对路径时,要先切换当前的工作目录才行。 小...

简单概括PHP的字符串中单引号与双引号的区别

今天有个朋友问起,说下区别,顺便复习下。 单引号与双引号的不同: " "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。 ' '单引号里面的不进行解释,直接输出。...

使PHP自定义函数返回多个值

PHP自定义函数只允许用return语句返回一个值,当return执行以后,整个函数的运行就会终止。有时候我们要求函数返回多个值时,用return是不可以把值一个接一个地输出的。但不可忽视...

解析php利用正则表达式解决采集内容排版的问题

做采集经常遇到的问题是内容排版问题,用了一些时间写了个用正则替换html标签和样式的函数,共享下。复制代码 代码如下:/** * 格式化内容 * @param str...

一个显示某段时间内每个月的方法 返回由这些月份组成的数组

复制代码 代码如下: /** * 生成从开始月份到结束月份的月份数组 * 该方法仿照党子皓getDateArr()方法 * @param unknown_type $start * @p...