2010-10-22 34 views
10

比方说,我们计算测试分数的平均值:一般 - 有没有一种方法可以根据现有平均值计算平均值并给出平均值的新参数?

开始测试成绩:75%,80%,92%64,83,99,79

平均=七分之五百七十二= 81.714 ...

现在给出81.714,如果你不知道最初的测试分数,有没有办法添加一组新的测试分数来“扩展”这个平均值?

新的测试成绩:66,89,71

平均=3分之226= 75.333 ...

普通平均将是:十分之七百九十八= 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 

而且都没有达到它“应该”的确切的平均值。考虑到你不知道初始值,在数学上可行吗?

回答

19

你要知道考试成绩在原来设定的数量和旧平均:

newAve = ((oldAve*oldNumPoints) + x)/(oldNumPoints+1) 
4

说,你有成绩的2块:

​​

然后平均总得分等于:

a1*(1.0*n/(m+n))+a2*(1.0*m/(m+n)) 

如果你想只加1分(A2),以现有的一组公式变为

a1*(n/(n+1))+ a2/(n+1) 
2

标准方法是存储计数和值的总和。

他们可以很容易地更新,并从他们的平均可以计算没有精度损失。