让我们说,我们正在计算考试成绩的平均值:
开始测试分数:75,80,92,64,83,99,79
平均值= 572/7 = 81.714 ......
现在给出81.714,如果您不知道初始测试分数,有没有办法添加一组新的测试分数来“扩展”这个平均值?
新考试成绩:66,89,71
平均值= 226/3 = 75.333 ......
正常平均值为:798/10 = 79.8
我试过了:
Avg = (OldAvg + sumOfNewScores) / (numOfNewScores + 1)
(81.714 + 226) / (3 + 1) = 76.9285
Avg = (OldAvg + NewAvg) / 2
(81.714 + 79.8) / 2 = 80.77
并没有达到“应该”的确切平均值。考虑到你不知道初始值,在数学上是否可以这样做?
答案 0 :(得分:25)
您必须知道原始集中的测试分数和旧平均值:
newAve = ((oldAve*oldNumPoints) + x)/(oldNumPoints+1)
答案 1 :(得分:5)
说,你有2个分数:
1st: n scores with average = a1
2nd: m scores with average = a2
然后总分的平均值等于:
a1*(1.0*n/(m+n))+a2*(1.0*m/(m+n))
如果您只想将1分(a2)添加到现有的设定公式
a1*(n/(n+1))+ a2/(n+1)
答案 2 :(得分:2)
标准方法是存储计数和值的总和。
它们可以轻松更新,从中可以计算平均值而不会损失精度。