我正在做一个带有温度和湿度传感器的Arduino项目,试图对抗数据不准确。每2秒我得到2个值:温度和湿度。我需要一些固定大小的数据结构,我收集值,当值计数达到结构大小时,我开始计算并输出这些值的平均值。一旦我得到的值多于结构所能容纳的值,就必须丢弃“最旧的”值,将当前值向下移动并将新数据插入前面。
考虑到我需要在C / C ++中使用它的事实,我应该使用什么样的数据结构?
答案 0 :(得分:1)
环形缓冲区很有用。有关更多信息,您应该谷歌“简单移动平均线”。
这是另一个回答它的问题: simple moving average of "live" stream - fast implementation