ROS交流群
ROS Group
产品服务
Product Service
开源代码库
Github
官网
Official website
技术交流
Technological exchanges
激光雷达
LIDAR
ROS教程
ROS Tourials
深度学习
Deep Learning
机器视觉
Computer Vision

浮点数计算误差对平均值计算的影响


  • administrators

    计算当前时间前n个数的滑动平均值时,有一种常用数值加速办法:构造一个n*1大小的先进、先出的堆栈队列数据结构,然后记录这n个数的和sum,每次只需要把sum减去最老的值再加上最新的值就可以得到最新的和值,这样相当于把n次求和变成了2次加减运算,可以加速计算。
    但是,如果因为数据异常,某次新加入的值很大,求和的时候,就会引入截断误差,从而导致后续的sum值一致存在一个偏差(即当队列里面值都更新为0时,sum值依然为一个不可忽略的的小量)。
    解决办法是把异常值过滤掉,或者改为直接求和计算。