【问题标题】:General - Is there a way to calculate an average based off of an existing average and given new parameters for the resulting average?一般 - 有没有办法根据现有平均值计算平均值并为结果平均值提供新参数?
【发布时间】:2011-04-29 06:23:06
【问题描述】:

比方说,我们正在计算考试成绩的平均值:

开始测试分数: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

两者都没有得出“应该”的确切平均值。考虑到您不知道初始值,这在数学上是否可行?

【问题讨论】:

    标签: math average equation


    【解决方案1】:

    你必须知道原始集合中的测试分数和旧平均值:

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

    【讨论】:

    • 嗨,这里的 x 是什么?
    • 要添加的新数据点以得出新的平均值。
    【解决方案2】:

    说,你有 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)
    

    【讨论】:

      【解决方案3】:

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

      它们可以轻松更新,并且可以在不损失精度的情况下计算平均值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-14
        • 2012-06-19
        • 1970-01-01
        • 2017-02-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多