恭喜,你发布的帖子
发布于 2020-04-03 18:33:25
20楼
我不知道是不是我理解的有问题,楼上一堆人的程序结果应该是10s出一个值,然后这个值维持10s,再更新一个新平均值。我觉得楼主的问题应该是滚动平均的算法,自己列一个20组的数组,先进先出,每0.5s都会出一个新值,而这个新值是20组的平均数。
上面的例子写成每秒钟采采样一次,并求20次采样的平均值,也没有完全按照楼主的要求写程序。
写平均值的方法多种多样,目的也是多种多样。上面讨论更多的是这种类型实例的写法是否最好,是否有什么地方需要改进。
平均值的注重点不是实时性,而在于平均。例如某个数值只是用于显示,取1-2秒内的所有采样数值的平均值,不但不影响观察者对数值大小的判断,要提升了数值的可显示性。不采用平均值,数值会每个扫描周期更新一次,没有办法看清楚真实数值,观察者会变成睁眼瞎。
猜想楼主要10秒的数据平均值,一般是用于存储、报表等类型的场合。对于这种场合每0.5s都会出一个新值是楼主所不需要的。
请填写推广理由:
分享
只看
楼主