一组数字的平均值

Shmkane

在Java中,通过设置计时器,我每秒收到一个数字。如何获得计时器中所有数字的平均值的好方法。

我不希望每秒平均,我希望平均总计10秒。

ifloop

我建议以下算法仅需要两个变量(标记为粗体):

每次收到新元素时,

  • 乘以电流平均值计数
  • 将新值添加到结果中(现在您有了旧的总和)
  • 增量计数由一个(因为我们现在有一个更多元)
  • 最后进行总和/计数计算,并将结果保存在avg变量中。

此方法避免了对集合中的所有元素进行迭代,在有大量元素的情况下,我可以安全地使用一些时间。

public class AvgCalculator {
    private double avg = 0.0f;
    private int    cnt = 0;


    /**
     * Calculates a new average based on the current one and
     * a specified new value. After calling this method avg
     * holds the new average value;
     *
     * @return the new average
     */
    public double calcNewAvg(final int newValue) {
        return avg = ((avg * cnt) + newValue) / ++cnt;
    }

    /**
     * Resets the average and count to zero
     */
    public void resetAvg() {
        avg = 0.0f;
        cnt = 0;
    }

    public double getAvg() {
        return avg;
    }
}

如何使用:

final AvgCalculator avgCalc = new AvgCalculator();

avgCalc.calcNewAvg(1);
avgCalc.calcNewAvg(3);
avgCalc.calcNewAvg(1);
avgCalc.calcNewAvg(3);
System.out.println(avgCalc.getAvg);  // should print 2  (1+3+1+3 = 8    8/4 = 2)

avgCalc.resetAvg();
System.out.println(calcNewAvg(5));   // should print 5  (5/1 = 5)
System.out.println(calcNewAvg(15));  // should print 10 (5+15 = 20  20/2 = 10)

输出:

2.0
5.0
10.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

NetLogo:查找一组海龟的平均值

来自分类Dev

sql计算平均值与一组?

来自分类Dev

stat_Summary一组值的平均值

来自分类Dev

在矩阵中寻找一组值的平均值

来自分类Dev

在一组3D图像中按组取平均值

来自分类Dev

在 Tableau 中,如何找到一组数字的最大值与最大值之后的数字平均值之间的差异?

来自分类Dev

计算列表框中一行的一组整数的平均值

来自分类Dev

MYSQL:一组中varchar y:m:d的平均值

来自分类Dev

MySQL获取一组中每x分钟的列的平均值和总和

来自分类Dev

用每列的一组平均值填充NaN

来自分类Dev

用dplyr查找上一组分组数据的平均值

来自分类Dev

熊猫-一组跨多列的滚动平均值;大数据框

来自分类Dev

有没有办法表明一组平均值为零?

来自分类Dev

熊猫仅用一组平均值替换列的所有值

来自分类Dev

如何通过SQL查询找到一组结果的平均值?

来自分类Dev

如何在Excel中的一组数据中找到未知平均值

来自分类Dev

唯一组的其他单元格中的平均值

来自分类Dev

计算大熊猫的唯一组合的平均值

来自分类Dev

Python 3.x 如何保留一组平均值较小的重复项?

来自分类Dev

一组文档中按位置排列的数组值的平均值

来自分类Dev

计算一组成绩的最终平均值的程序

来自分类Dev

根据用户的决定创建一组 Entry Widgets,并使用 Tkinter 找到它们的平均值

来自分类Dev

前一组与另一列在同一位置的平均值

来自分类Dev

根据一组条件为多列中的每一行计算自定义平均值

来自分类Dev

如何在一组列excel / google docs中找到一阶差的平均值?

来自分类Dev

如何从MySQL表中的一组行中获取平均值和最后数据

来自分类Dev

输入数字的平均值

来自分类Dev

获取数字平均值

来自分类Dev

一对数字索引的平均值

Related 相关文章

  1. 1

    NetLogo:查找一组海龟的平均值

  2. 2

    sql计算平均值与一组?

  3. 3

    stat_Summary一组值的平均值

  4. 4

    在矩阵中寻找一组值的平均值

  5. 5

    在一组3D图像中按组取平均值

  6. 6

    在 Tableau 中,如何找到一组数字的最大值与最大值之后的数字平均值之间的差异?

  7. 7

    计算列表框中一行的一组整数的平均值

  8. 8

    MYSQL:一组中varchar y:m:d的平均值

  9. 9

    MySQL获取一组中每x分钟的列的平均值和总和

  10. 10

    用每列的一组平均值填充NaN

  11. 11

    用dplyr查找上一组分组数据的平均值

  12. 12

    熊猫-一组跨多列的滚动平均值;大数据框

  13. 13

    有没有办法表明一组平均值为零?

  14. 14

    熊猫仅用一组平均值替换列的所有值

  15. 15

    如何通过SQL查询找到一组结果的平均值?

  16. 16

    如何在Excel中的一组数据中找到未知平均值

  17. 17

    唯一组的其他单元格中的平均值

  18. 18

    计算大熊猫的唯一组合的平均值

  19. 19

    Python 3.x 如何保留一组平均值较小的重复项?

  20. 20

    一组文档中按位置排列的数组值的平均值

  21. 21

    计算一组成绩的最终平均值的程序

  22. 22

    根据用户的决定创建一组 Entry Widgets,并使用 Tkinter 找到它们的平均值

  23. 23

    前一组与另一列在同一位置的平均值

  24. 24

    根据一组条件为多列中的每一行计算自定义平均值

  25. 25

    如何在一组列excel / google docs中找到一阶差的平均值?

  26. 26

    如何从MySQL表中的一组行中获取平均值和最后数据

  27. 27

    输入数字的平均值

  28. 28

    获取数字平均值

  29. 29

    一对数字索引的平均值

热门标签

归档