标准偏差和模式

时间:2011-04-26 05:56:55

标签: php

我有一个监控学生表现的系统。它列出了获得1,1.25,1.5,.... 5分的学生人数(这是我们的评分系统)。例如:

grading system     number of students
1                  12
1.25               10
1.5                15
1.75               15
2                  20
2.25               1
2.5                5
2.75               6
3                  8
5                  0

从这个例子中,我需要我的系统来确定哪个是模式然后打印它。我还需要得到标准偏差。

我需要在PHP中使用它。谁能帮我这个? 您的想法,意见和建议表示赞赏。

更新

这是我到目前为止所做的:

完成了标准偏差...但仍然存在差异我无法解决...当我手动计算标准偏差时......答案与我的系统输出不同..&gt;。&lt; < / p>

虽然对于我使用数组的模式..这是我的代码:

$sample = array($one[$ctr],$two[$ctr],$three[$ctr],$four[$ctr],$five[$ctr],$six[$ctr],$seven[$ctr],$eight[$ctr],$nine[$ctr],$ten[$ctr],$fda[$ctr]);

         rsort($sample);
         $holder = $sample[0];
     //$holder = $mode;

排序是成功的,我可以是最高的数字,但我需要使用fpdf将$holder的值打印到表中。

任何想法,为什么值在输出中不可见?

1 个答案:

答案 0 :(得分:4)

嗯,模式很简单。只要找到学生人数最多的等级(2)(20),那就是。

如果有多个,那么它是多模态的,你应该允许这样做。

对于标准偏差,可以找到方法here。它基本上计算了所有这些数字的平均值(让我们通过使用1,1,2和7来简化它):

1 + 1 + 2 + 7     10
-------------  =  --  = 2.5
      4            4

然后从该平均值计算所有这些样本的方差的平方根:

    _____________________________________________
   / (1-2.5)^2 + (1-2.5)^2 + (2-2.5)^2 + (7-2.5)^2
  /  ---------------------------------------------
\/                         4

       __________________________
      / 2.25 + 2.25 + 0.25 + 20.25
=    /  --------------------------
   \/               4

=  2.5

如果你问一个初学者级别的问题,比如如何在PHP等特定语言中做到最好,你应该调查arraysloops的用法。