如何计算不断增长的列表的平均值?
详细说明:我有粗略的加速度计数据,每秒返回一次从 10
到 15
的 double 。如何及时找到给定时刻的平均值?
我想到的解决方案是存储返回的总和及其计数,然后每次都除以它,但这会导致缓冲区溢出和不准确的结果,因为计算机有十进制数的问题。
请提出算法或数学公式。
最佳答案
John D. Cook 有一个 very good post计算具有更强数值特性的均值和标准差。
基本上(降低了所有的复杂性)它可以像这个 python 代码一样简单(将 data
想象成一个无限迭代):
n = 0
mean = 0
for value in data:
n += 1
mean += (value - mean) / n
关于algorithm - 计算不断增长的列表的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32384323/