Math 常规-是否有方法根据现有平均值计算平均值,并为结果平均值提供新参数?
比方说,我们正在计算考试分数的平均值: 初试成绩:75、80、92、64、83、99、79 平均值=572/7=81.714 现在给出了81.714,如果您不知道初始测试分数,是否有办法添加一组新的测试分数来“扩展”此平均值? 新考试分数:66分、89分、71分 平均值=226/3=75.333 正常平均值为:798/10=79.8 我试过:Math 常规-是否有方法根据现有平均值计算平均值,并为结果平均值提供新参数?,math,average,equation,Math,Average,Equation,比方说,我们正在计算考试分数的平均值: 初试成绩: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 +
Avg = (OldAvg + sumOfNewScores) / (numOfNewScores + 1)
(81.714 + 226) / (3 + 1) = 76.9285
Avg = (OldAvg + NewAvg) / 2
(81.714 + 79.8) / 2 = 80.77
两者都没有达到“应该”的准确平均值。考虑到你不知道初始值,在数学上是否有可能做到这一点?你必须知道原始集合中的测试分数数和旧的平均值:
newAve = ((oldAve*oldNumPoints) + x)/(oldNumPoints+1)
比如说,你有两组分数:
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)
标准方法是存储计数和值的总和 它们可以很容易地更新,并且可以从中计算出平均值,而不会损失精度