In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-04-06 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/01 Report--
今天就跟大家聊聊有关微信小程序开发中如何使用移动平均消除抖动,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
增加了表盘的图形显示以后,这个小程序看起来是那么回事了。但是还有一个小毛病,数字也好,表盘的旋转速度,都不是很均匀。今天就来解决这个问题。
简单移动平均法
移动平均的计算公式如下: 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中增加了计算移动平均的处理,详细可以参考注释。
看完上述内容,你们对微信小程序开发中如何使用移动平均消除抖动有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.