千家信息网

微信小程序开发中如何使用移动平均消除抖动

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,今天就跟大家聊聊有关微信小程序开发中如何使用移动平均消除抖动,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。增加了表盘的图形显示以后,这个小程序
千家信息网最后更新 2026年11月01日微信小程序开发中如何使用移动平均消除抖动

今天就跟大家聊聊有关微信小程序开发中如何使用移动平均消除抖动,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

增加了表盘的图形显示以后,这个小程序看起来是那么回事了。但是还有一个小毛病,数字也好,表盘的旋转速度,都不是很均匀。今天就来解决这个问题。

简单移动平均法


移动平均的计算公式如下: Ft=(At-1+At-2+At-3+…+At-n)/n,式中
Ft--对下一期的预测值;
n--移动平均的时期个数;
At-1,At-2,At-3和At-n分别表示前两次、前三次直至前n期的实际值。

简单的说,就是保留最近n次的值,然后求这些值的平均值。这样一来个别数据的抖动就会被其他数据中和,从而减少数据的抖动。

logs.js

Page({

data: {

angle: '--',

directions:[0, 0, 0, 0, 0]

},

//指南针描画

drawCompass: function (direction) {

//此处省略

},

//事件处理函数

onLoad: function () {

var that = this;

wx.onCompassChange(function (res) {

//在数组尾部添加新数据

that.data.directions.push(res.direction);

//从数组头部删除一个数据

that.data.directions.shift();

//数组元素求和

var total = that.data.directions.reduce(function (prev, v) { return prev + v })

//求平均值

var average = total / that.data.directions.length

that.drawCompass(average);

//保留1位小数

var direction = average.toFixed(1) + '°';

that.setData({ angle: direction })

});

},

})

主要的变化有两点:一个是在data中增加了一个名为directions的数组,并用5个0初始化;再有就是在 wx.onCompassChange中增加了计算移动平均的处理,详细可以参考注释。


看完上述内容,你们对微信小程序开发中如何使用移动平均消除抖动有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

移动 数据 数组 内容 小程 开发 就是 平均值 表盘 处理 这样一来 一来 个数 事件 元素 公式 函数 回事 图形 头部 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网 互联网科技公司起名 A股互联网金融科技公司 互联网通讯科技 鸠鸠互联网科技 润盈互联网科技 互联网科技博客 承德科技产业互联网发展 阿大互联网科技有限公司 米聚互联网科技南京有限公司排面 科技大学互联网 广东工业互联网大赛深圳学泰科技 互联网营销推广黑科技 广东鹅鹅鹅互联网科技有限公司 上海同邻互联网科技有限公司规模 米泉互联网科技专业怎么样 科技和互联网行业的特点 互联网科技和医药行业 科技互联网专业工作会议发言稿 数字科技和互联网金融哪个好 广州紫鲸互联网科技有限公司 迪茉互联网科技 南京欣网互联网科技 镁科技互联网资讯平台 农村开互联网科技讲堂 互联网科技实习生岗位职责 宝灵互联网科技有限公司 山东子淼互联网科技有限公司 山东星卡互联网科技有限公司官网 长沙易易互联网科技有限公司
0