燃料图平滑算法

Jor*_*ksa 6 java algorithm math statistics

我正在开发车队管理系统,其中一项任务是显示代表车辆燃油消耗的图表(基于来自CANBUS的数据).

如果数据值介于0和100之间,则表示百分比.因此,如果我得到一个45的整数,则意味着油箱中的燃油为45%.

但是,如果车辆正在移动,则由于船舶的物理原因可能存在不一致的数据.例如,数据系列可能是:

76,76,75,74,73,73,71,70 < - 这是一个很好的模式,因为它显示了燃料如何下降.

76,70,75,76,77,76,74,74,73,72,69,72,73,73,72,71 < - 这不是一个好的模式因为跳槽中的燃料不是因为一致,我收到的数据不适合显示给用户.

我想平滑值,但是根据我一次选择的平均值,结果是不同的.

关键问题是,有时候我必须在图表中显示排水和加油时刻,并且必须不顺畅.

我可以使用什么样的算法以令人信服的方式分析和表示我的图表?

fla*_*ire 3

有没有办法确定何时发生加油/排水?如果是这样,那么您可以在这些时候动态地改变您的算法。

否则,我建议使用指数平滑。

令 d (0 <= d < 1) 为前一个数字的权重因子。所以显示的数量 = prev_data*d + new_data*(1-d)

有了适当的权重因子,似乎“颠簸”就会被消除,但同时结果将反映燃料事件。

这不是唯一的选择,更多的是示例算法,但我希望您发现它有用。

小编辑:我没有意识到指数平滑有一个合适的名称。我只是在我创建的游戏中显示帧速率时使用了该技术。所以,谢谢肯珀。