我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

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

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

简单移动平均法


移动平均的计算公式如下: 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中增加了计算移动平均的处理,详细可以参考注释。

                                            

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

今天就跟大家聊聊有关微信小程序开发中如何使用移动平均消除抖动,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。增加了表盘的图形显示以后,这个小程序看起来是那么回事了。但是还有一个小毛病,
2023-06-19

微信小程序开发中如何使用wx.vibrateLong

这篇“微信小程序开发中如何使用wx.vibrateLong”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“微信小程序开发中如何使用wx.vibrateLong”,小编整理了以下知识点,请大家跟着
2023-06-26

如何使用PHP开发微信小程序的运动追踪功能?

如何使用PHP开发微信小程序的运动追踪功能?随着人们健康意识的不断提高,越来越多的人开始注重运动。微信小程序的流行使得开发运动追踪功能成为可能。本文将介绍如何使用PHP开发微信小程序的运动追踪功能,并提供相关的代码示例。首先,我们需要在微信
2023-10-27

如何使用PHP开发微信小程序的动画制作功能?

如何使用PHP开发微信小程序的动画制作功能?随着微信小程序的发展,越来越多的开发者开始关注和学习微信小程序的开发。其中,动画制作功能是微信小程序中非常重要的一个特性。它能够帮助开发者为小程序添加生动、炫酷的动画效果,提升用户体验。在本文中,
2023-10-27

如何用PHP开发微信小程序的运动课程预订功能?

如何用PHP开发微信小程序的运动课程预订功能?随着健康意识的提高和运动热潮的兴起,越来越多的人开始参加各种运动课程。为了方便用户预订运动课程,我们可以利用PHP开发一个微信小程序的运动课程预订功能。下面将详细介绍如何实现。创建数据库和相关表
2023-10-27

微信小程序开发中如何使用iconfont字体图标

本文小编为大家详细介绍“微信小程序开发中如何使用iconfont字体图标”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序开发中如何使用iconfont字体图标”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
2023-06-26

微信小程序开发中如何动态设置当前页面的标题

这篇“微信小程序开发中如何动态设置当前页面的标题”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“微信小程序开发中如何动态设置当前页面的标题”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的
2023-06-26

微信小程序开发中如何实现三级联动地址选择器

这篇文章将为大家详细讲解有关微信小程序开发中如何实现三级联动地址选择器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。picker和picker-view组件在正式介绍实现之前,我们需要先来介绍下这两个组件
2023-06-26

微信小程序开发中如何使用canvas绘制坐标图

这篇文章主要为大家展示了“微信小程序开发中如何使用canvas绘制坐标图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序开发中如何使用canvas绘制坐标图”这篇文章吧。1、线图func
2023-06-26

如何在微信小程序中使用PHP开发社交功能?

如何在微信小程序中使用PHP开发社交功能?微信小程序作为一种新兴的应用开发平台,为用户提供了丰富的社交功能。结合PHP语言的强大处理能力,我们可以实现各种社交功能,例如朋友圈、私信、点赞等功能。下面将以微信小程序中的朋友圈为例,详细介绍如何
2023-10-26

微信小程序中如何使用wx.pageScrollTo将页面滚动到目标位置

这篇文章主要为大家展示了微信小程序中如何使用wx.pageScrollTo将页面滚动到目标位置,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“微信小程序中如何使用wx.pageScrollTo将页面
2023-06-26

微信小程序开发中如何使用wx.createAudioContext创建并返回audio上下文audioContext对象

这篇文章主要为大家展示了微信小程序开发中如何使用wx.createAudioContext创建并返回audio上下文audioContext对象,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“微信小
2023-06-26

微信小程序开发中如何实现从本地相册选择图片或使用相机拍照

这篇文章主要为大家展示了微信小程序开发中如何实现从本地相册选择图片或使用相机拍照,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“微信小程序开发中如何实现从本地相册选择图片或使用相机拍照”这篇文章吧。
2023-06-26

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录