新手上路
- 积分
- 36
- 金钱
- 36
- 注册时间
- 2016-12-27
- 在线时间
- 7 小时
|
15金钱
需求:在一个小应用中,需要读取实施环温,并求出一段时间内的环温变化是否趋于稳定。
我以前的方法是将采集到的实时数据放入到队列中,并对这个队列进行求平均值,如果平均值和最后次的数据进行对比,差值小于0.1度,则认为环境稳定是稳定的
但是会有bug,
举三个例子:
例子1:(判定正确,环温不稳定)
连续采集十个数据进行取平均,和最后一次的数据进行对比,倘若相差不超过0.1度,认为数据稳定
采集次数 1 2 3 4 5 6 7 8 9 10
采集数据 26.1 26.3 26.5 26.7 26.9 27.1 27.3 27.5 27.7 27.9
如上,进行平均值,得出结果为27,认为数据不符合要求
例子2:(判定正确,环温为稳定)
采集N次后,数据为以下
采集次数 1 2 3 4 5 6 7 8 9 10
采集数据 27.9 27.9 28.0 28.0 28.1 28.1 28.0 28.0 27.9 28.0
求平均,得出结果为27.99,认为数据符合要求
例子3:(判定错误,环温为不稳定)
采集次数 1 2 3 4 5 6 7 8 9 10
采集数据 26.1 26.3 26.5 26.7 26.9 27.1 27.3 27.5 27.7 26.9
求平均,得出结果为26.9,实际变化中,环温的整体差异已经很大了,但是还会判定为稳定,这种怎麽解决?
|
|