精华内容
下载资源
问答
  • 用于轻松计算 3D 打印机修改后的每毫米步长值的 Java 程序。 这是一个桌面应用程序。 将来我也想制作一个基于网络的应用程序。 没有错误检查。 随意在文本框中输入您想要的任何字符,但只有数字(和小数点)才会...
  • 和记步不一样,步长是一个相对比较精确的,通过手机端那个不靠谱的加速度传感器真的有办法计算步长吗?  看了几篇利用GPS计算步长方法,大概就是现在我们用的一些运动软件的算法了,先利用不太精确的GPS画出运动...

           前几天写了一篇关于如何记步的博客之后,我就在思考怎么样利用手机的传感器来计算步长呢?和记步不一样,步长是一个相对比较精确的值,通过手机端那个不靠谱的加速度传感器真的有办法计算步长吗?

           看了几篇利用GPS计算步长方法,大概就是现在我们用的一些运动软件的算法了,先利用不太精确的GPS画出运动轨迹,计算出轨迹的长度,再除上运动步数,就是步长了。当然其中会运用到很多辅助算法来提高精确值,实际上在距离足够远的时候,也据说数据量足够多的时候,可以得出较为精确的步长值。

           当然这是我需要的吗?No,远远不够,如果在室内,在地下停车场呢,GPS就完全失效了,这个时候能够依赖的就只有加速度了。我又缩小了搜索范围——基于加速度的步长算法,还是找到几篇相关文章的,大致分为两种方式:

           1.对加速度求积分算出行进距离

           2.通过把加速度传感器绑在腿上,感知波形

    第二种方式对于手机根本不适用(手机不是拿在手上就是装兜里,谁没事挂腿上),直接毙掉。再看第一种,有尝试的价值,但实际尝试后也有各种各样的问题,一个关键问题就是手机传感器精度不够,实际偏差非常大,很可惜也不行。

            看起来好像在手机端做步长算法好像根本不可能,现实也的的确确是这样。我本来也打算放弃来着,不过前两天突然灵机一动,能不能利用之前写的记步算法中用的两个数据来简单预测呢?

            说做就做,算法可以说简单到离谱了,以我自己为模板来尝试,35米左右距离大约走五十步左右,实际偏差在正负五米,实际误差还是挺大,但是也比上面的方法一要精确多了。

            好了也不卖关子了,来说说是哪两个数据,如图:

    解释下坐标系,横坐标时间(单位ms),纵坐标加速度(单位m/s),加速度包含重力加速度,这个我之前的文章有写,可以看看。

            H就是一步的波峰波谷(两个波谷求个均值)差值,W就是波谷之间的距离,也就是走一步所需的时间。再来看算法:

    float steplength=0.37f+W/10000+0.29f*H/5;

    很简单的算法是不是?

           经过我个人测试,在大范围还是有一定的精准度的,但是在细节方面却千差万别。实际测试每百米上下浮动在二十米到三十米左右,这还是我个人测试的结果,依然不够精确。

           简单讲下我的思考方式,首先实际行走一段距离,用不同的步速和步长进行行走,计算W和H的值,根据数据大致可以画一张图(当然过程中也要采集步长)当然这些只是我的个人数据,不具有一般性,所有数据图我就不放了,乱糟糟的,有兴趣自己画吧。最后大致推出这样的公式,具体有能力的同学可以做个大数据分析,应该是可以推导个近似公式。

           这个方式还具有很多的改进空间,可以用一些更科学的方式(滤波、均值什么的),当我毕竟不是要用于商用,算的更精确对我来说也没什么必要,在这仅仅是提出我个人的一个计算步长的猜想,抛砖引玉。

    ————————————————————————————————————————————————————

    补充一下,最近发现上面的公式还是有些问题。发现一个问题,H越大时步长确实是越大的,但是W增大时,对于步长其实反而是有负增益的,但是又不完全是线性减少,有待研究。在这提醒下,上面的公式只是我随手凑出来的,并不太准确。

    ————————————————————————————————————————————————————————

    我发现自己路走偏了,本来想用两个不精确的数据来估计一个确定数据就非常的不靠谱,我还期望用一个固定的公式来做精准的推测。我准备学习一些经典的预测方法再做一次尝试。

    ————————————————————————————————————————————————————————

    不好意思误导大家了,在这里必须澄清一下,实际上有很多论文都谈到步长的计算方式,只不过仅仅作为论文的一部分,没有单独拿出来说而已。由于博主论文看的少,最近开始补这方面的论文才发现实际上有很多的实现方法(甚至有些接近于我的想法,说明我的方向是没错的)。所以上面的看看就行,不要全信。

    顺便说一下其中很大一部分论文在计算步长的时候用到了我上面提到的参数H,用了最小二乘法来推线性比例。实际上我也走过这条路,不过效果并不是很好,我还是坚持用H加W的算法,最近想引入卡尔曼滤波器再试试,看下效果如何。

    ————————————————————————————————————————————————————————

    上面的公式我就不改了,献给给有耐心看到底的朋友,重新给一个 个人认为还是较为不错的公式,亲测效果还是不错的(150米正常行走偏差十米以内,跑步偏差四十米以内):

    float steplength=0.37f-0.000155f*W+0.1638f*(float) Math.sqrt(H);

    主要利用了最小二乘法,还有个人的一些推测。

    ————————————————————————————————————————————————————————

    最近把计步器算法和步长估计封装成类了,有兴趣的点这里(Android计步器实现

    展开全文
  • 原图(N) 滤波器(F) 步长(stride) 激励层(activaion) 7 * 7 3 * 3 1 5 * 5 7 * 7 3 * 3 2 3 * 3 7 * 7 3 * 3 3 不允许 计算上表的公式如下: (N - F) / stride + 1 (原图-滤波器) / 步长 + 1 stride 1 =>(7 - 3) / 1...

    卷积层浅析

    卷积层:

    卷积神经网络中每层卷积层(Convolutional layer)由若干卷积单元组成,每个卷积单元的参数都是通过反向传播算法最佳化得到的。卷积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网路能从低级特征中迭代提取更复杂的特征。

    假定此时有一张图片大小为32 *32 * 3(图像的长,宽,深度)
    在这里插入图片描述
    卷积的过程就是,在原图的基础上,添加一个滤波器(滤波器的
    深度要求和原图一样,例如上方的图片大小,那么滤波器的大小就是三个深度)
    在这里插入图片描述
    图像经过滤波器之后,输出的就叫做激活层activation

    我们用上面的例子来做一个运算,假设添加六个滤波器来过滤原图:

    原图滤波器激活层
    32 *32 *35 * 5 * 328 * 28 * 1 ( A )
    A5 * 5 * 3A与滤波器点乘 ( B )
    B5 * 5 * 3B与滤波器点乘 ( C )
    C5 * 5 * 3C与滤波器点乘 ( D )
    D5 * 5 * 3D与滤波器点乘 ( E )
    E5 * 5 * 3E与滤波器点乘
    …………28 * 28 * 6

    上表进行的运算就叫卷积运算,下图就说明了该表进行的运算:
    在这里插入图片描述
    如果之后再进行卷积运算时,一定要注意此时图像的深度,根据实际的图像深度来选择滤波器的深度,下图则是根据上图的结果所选择的滤波器大小为五乘五乘六
    在这里插入图片描述

    卷积运算的同时,我们可以滤波器设置步长,例:
    为了方便理解和计算,我们假设有一张7 * 7大小的图片(不看图片的深度)

    原图(N)滤波器(F)步长(stride)激励层(activaion)
    7 * 73 * 315 * 5
    7 * 73 * 323 * 3
    7 * 73 * 33不允许

    计算上表的公式如下:
    (N - F) / stride + 1 (原图-滤波器) / 步长 + 1
    stride 1 =>(7 - 3) / 1 + 1 = 5

    stride 2 => (7 - 3) / 2 + 1 = 3

    stride 3 => (7 - 3) / 3 + 1 = 2.33333……
    可以看到当步长为三的时候,激励层的值为无线循环小数了,卷积过程不允许这种情况的出现,所以我们只取可以完整的算出激励层的步长。

    填充
    上面是卷积运算的过程,但是通常在进行卷积运算之前,会在图像的像素点周围做一个填补操作padding,通常padding的值是零。意思就是在整个原图的像素点外围加上一圈0,这样的作用就是可以使进行卷积运算之后的输出图片的尺寸变得和输入时图片的尺寸一样大,如下图所示:
    在这里插入图片描述
    填补操作的大小是根据滤波器的大小来定的:
    求填补的大小的公式为:(F - 1) / 2 (滤波器 - 1) / 2

    滤波器(F)运算填补大小输出大小
    3 * 3(3 - 1) / 21+2
    5 * 5(5 - 1) / 22+4
    7 * 7(7 - 1) / 23+6

    可能表格解释的不清楚,用一个例子来说明

    • 输入的大小为32 * 32 * 3 ;
    • 加上十个滤波器,大小为5 * 5;
    • 步长为1;
    • 填充为2:
      求输出大小?

    先不看深度,因为填充为2,由上表可知输出大小应该是在原图上加上4再进行运算;大小是36 * 36
    然后经过步长的运算
    (36 - 5)/ 1 + 1 = 32
    得到的图像大小为 32 * 32
    然后加上深度,由于是有十个大小为5 * 5的滤波器,所以滤波器为5 * 5 * 10.深度为10,所以原图会经过十次卷积,最终输出的图片大小为:
    32 * 32 *10
    由此可以看到,添加padding的作用了,如果没有填充的话,输出的图像大小将会变成28 * 28 * 10,虽然可以算出大小,但是如果当卷积的次数越来多,图像会越变越小,很不利于之后的计算。所以填充是非常重要的。

    公式

    输入的图像大小:W1 * H1 * D1 (宽度 * 高度 * 深度)

    K :滤波器的个数 K总是二的指数(32, 64,128 ,512)

    F:滤波器的大小

    S:步长

    P:填充大小

    输出的图像大小:W2 * H2 * D2(宽度 * 高度 * 深度)

    W2 = (W1 - F + 2P) / S +1

    H2 = (H1 - F + 2P) / S + 1

    D2 = K

    滤波器的尺度(F * F) 乘以深度D,就是每个滤波器的权重的个数;再乘以K(滤波器的个数)就是这一个卷积层权重的总数;另外加上每个滤波器的一个偏置项(一共有K个)

    一定要算上偏置项的大小!!!!

    具体的过程就如下图所示,就不细说了
    在这里插入图片描述

    展开全文
  • LMS算法的缺点是收敛速度慢,它克服不了收敛速度和稳态误差这一对固有矛盾:在收敛的前提下,如果步长取较大,虽然收敛速度能得到提高,但稳态误差会随之增大,反之稳态误差虽然降低但收敛速度就会变慢。...
  • 此提交是一个示例,展示了如何使用 2 级 M 文件 S-Function 帮助调试模型并可视化 Simulink:registered: 求解器在较小时间步长计算。 此提交包含一个 Level-2 M 文件 S 函数,该函数将信号的次要时间步长数据...
  • 共回答了20个问题采纳率:90%题目没写全吧?现假定积分区间为[0,1],教材《数值分析》(华中科技...对于函数f(x)=sinx/x,它在x=0的定义为f(0)=1,…………★注:在这个地方,如果按照楼主给的题目,分母为【x^2】,那就没...

    共回答了20个问题采纳率:90%

    题目没写全吧?

    现假定积分区间为[0,1],教材《数值分析》(华中科技大学出版)第87页,例题4.2就有详细的解答.

    貌似题目也有错?确定分母是【x^2】?

    现在附上该例题(分母是x)的全部解答过程:

    先对整个区间[0,1]使用梯形公式.对于函数f(x)=sinx/x,它在x=0的值定义为f(0)=1,…………★注:在这个地方,如果按照楼主给的题目,分母为【x^2】,那就没法计算★

    而f(1)=0.8414709,根据梯形公式计算得

    T1=1/2[f(0)+f(1)]=0.9207355.

    然后将区间二等分,再求出中点的函数值f(1/2)=0.9588510,从而利用递推公式T2n=1/2*Tn+h/2*∑f(X k+1/2),有

    T2=1/2*T1+1/2f(1/2)=0.9397933.——即为楼主想要的结果(二分2次)

    进一步二分求区间,并计算新分点上的函数值,得

    f(1/4)=0.9896158,f(3/4)=0.9088516.

    再利用公式T2n=1/2*Tn+h/2*∑f(X k+1/2),有

    T4=1/2*T2+1/4[f(1/4)+f(3/4)]=0.9445135.——此为二分4次的结果.

    依此类推,直到二分9次,求得T9=0.9460831——得到精确结果为止.

    1年前

    10

    展开全文
  • 所谓步长就是去做一件事情规定时间内分特定的步数走完。 做一个小demo 让红色的方块移动到黑色线里面去,给红色小方块一个终点,定时器每次启动的时候(50毫秒)移动一次,如过我们想让他移动慢点就可以做一个判断让...

    所谓步长就是去做一件事情规定时间内分特定的步数走完。

    做一个小demo
    在这里插入图片描述
    让红色的方块移动到黑色线里面去,给红色小方块一个终点,定时器每次启动的时候(50毫秒)移动一次,如过我们想让他移动慢点就可以做一个判断让速度变慢 这个变慢就是步长的核心思想 把他总长度分多少段走完。下面是代码和移动后的效果
    在这里插入图片描述

    在这里插入代码片
    ```<!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style>
            div {
                width: 100px;
                height: 100px;
                background-color: red;
                position: absolute;
                left: 0px;
                top: 0;
            }
            
            #btn {
                margin-top: 150px;
            }
            
            span {
                position: absolute;
                width: 1px;
                height: 100px;
                background-color: black;
                left: 500px;
                top: 0;
            }
        </style>
    
        <body>
            <div></div>
            <span></span>
            <button id="btn">run</button>
            <script>
                var div = document.getElementsByTagName("div")[0];
                var btn = document.getElementById("btn");
                var timer = null;
    
                btn.onclick = function() {
                    move(div, 500)
                }
    
                function move(ele, target) {
                    clearInterval(timer);
                    var ispeed = target - ele.offsetLeft > 0 ? 7 : -7;
                    timer = setInterval(function() {
                        //最后一步剩余的距离小于我们的移动的距离ispeed
                        if (Math.abs(target - ele.offsetLeft) < Math.abs(ispeed)) {
                            clearInterval(timer)
                            ele.style.left = target + 'px';
                        } else {
                            ele.style.left = ele.offsetLeft + ispeed + 'px';
                        }
                    }, 30)
                }
            </script>
        </body>
    
    </html>
    
    
    展开全文
  • 关于卷积填充和步长计算

    千次阅读 2019-03-17 18:07:41
    一张6∗6大小的图片,使用3∗3的卷积核设定步长为1,经过卷积操作后得到一个4∗4的图像。 特征图大小公式 设定原始图像大小为n∗n,卷积核大小为f∗f,则经过卷积操作后特征图大小为(n−f+1)∗(n−f+1) 不...
  • c/c++ 最速下降法计算最优 利用armijo计算最优步长
  • 深入浅出最优化(2) 步长计算方法

    千次阅读 2020-05-07 00:11:48
    在上节中本教程介绍了迭代搜索的基本步骤。考虑基本步骤中的每一步的基本元素:步长、下降方向和终止准则,其中终止准则是我们已经明确给出的,而步长...在本节中本教程将介绍迭代搜索过程中步长计算方法,而下降...
  • 在放样过程中步长值确定需要综合考虑放样的工作量和曲线段施工的精度要求。文中结合高速公路设计规范,通过计算给出了各种缓和曲线条件下的截断误差和悬截误差,从而为曲线放样的展开级数和步长取值提供依据。
  • 编写定步长复化Simpson公式与变步长(自适应)复化Simpson公式的通用程序,并用变步长(自适应)复化Simpson公式计算π的近似.
  • LMS算法的缺点是收敛速度慢,它克服不了收敛速度和稳态误差这一对固有矛盾:在收敛的前提下,如果步长取较大,虽然收敛速度能得到提高,但稳态误差会随之增大,反之稳态误差虽然降低但收敛速度就会变慢。...
  • https://testerhome.com/topics/12383 https://blog.csdn.net/CV_YOU/article/details/83212861
  • 步长的Simpson公式计算积分.算法基本分析:输入a,b(积分上下限),n为积分区间等分数,eps为计算精度,我这里1/2e-6,代表0.5乘以10的负6次方.变步长梯形求积算法计算积分,本题目取的例子为数值书131面的例子2,...
  • 复化求积公式虽然能提高精度,但需要给出步长步长精度太大则精度低,步长太小则计算量大,难以找到一个合适的步长(划分成的小区间的个数) 算法描述: 1.对所有已存在的子区间进行二分化,区间数由n变为2n 2.利用...
  • CNN步长卷积计算公式和strided convolution

    万次阅读 多人点赞 2018-11-29 11:07:52
    输出图片几种情况下的尺寸计算公式,其中s为步长stride, p的不固定,只是满足输出和输入尺寸相同情况下的padding p= (f-1)/2。 no padding: n - f + 1 padding: n + 2p - f + 1 跳格计算stride with ...
  • C语言while循环语句 do while语句 for循环语句

    万次阅读 多人点赞 2019-06-10 14:17:53
    (1)while 语句是先计算表达式的,再执行循环体,do…while是执行完一次循环体,再计算表达式的 (2)当表达式的第一次为假时,while的循环体一次都不执行,do…while则执行一次循环体; (3)当表达式的...
  • 有一些复杂的函数,或者一些简单的函数但找不到原函数,这种情况下,我们就可以使用一些方法近似求得积分。 这里三种近似的求积公式   这里介绍变步长复化梯形算法和龙贝格算法 变步长复化梯形算法 基本...
  • MATLAB教程(1) MATLAB 基础知识

    万次阅读 多人点赞 2017-10-26 20:57:32
    对比图中标记处不难发现,步长增大,图像的精确度变低,所以这里尽量保证步长足够小,使得x可以取到足够多的 (2) 坐标 我们可以对横轴和纵轴分别命名,并对上述正弦图像加上标题。 (3)plot(x, y, ...
  • LMS算法的缺点是收敛速度慢,它克服不了收敛速度和稳态误差这一对固有矛盾:在收敛的前提下,如果步长取较大,虽然收敛速度能得到提高,但稳态误差会随之增大,反之稳态误差虽然降低但收敛速度就会变慢。...
  • 给定起始数,结尾数及步长计算从起始数开始,以步长为间隔,到结尾数为止的所有数字的和,可以指定保留结果小数位数 startNum:起始数字 endNum:结尾数字 step:步长,必须为大于等于0的实数,否则默认为1 ...
  • 因为 splitNumber 是预估的,实际根据策略计算出来的刻度可能无法达到想要的效果,这时候可以使用 interval 配合 min、max 强制设定刻度划分。 注:上述方式无法在类目轴(type:category)中使用。在时间轴(type...
  • 分别用复合梯形及复合辛普森求积计算积分, 给出误差中关于h的函数, 并与积分精确比较两个公式的精度, 是否存在一个最小的h, 使得精度不能再被改善? (2) 用龙贝格求积计算完成问题(1). (3) 用自适应辛普森积分, 使...
  • Matlab求解定积分/不定积分

    万次阅读 多人点赞 2019-10-03 14:30:49
    功能:计算定积分 格式:int(f,x) 功能:计算不定积分 使用int函数之前,先用syms声明x是符号变量 例: 代码: syms x y1=1/(1+x^4); y2=(x*exp(x))/(1+x)^2; y3=1/(x^2+2*x+3); fy1=int(y1) fy2=int(y2,0.....
  • 数值计算基础的实验之一 数值积分 变步长梯形法求积分的C语言实验 复化梯形法或者叫复合梯形法 代码摘要 double Multy(double a, double b) { double h = b - a, T[2]; T[0] = h * (f(b) + f(a)) / 2.0; //...
  • 1、如何查看auto_increment的初始步长 打开黑窗口,登录管理员账号和密码后,执行以下命令: show variables like 'auto_inc%'; -- 查看当前数据库的自增长设置 执行结果如下: 即 auto_increment的...
  • 压缩感知

    千次阅读 2018-10-07 21:26:43
    (2)计算相关系数u(余量与原子的内积),并将u中最大对应的索引存入J; (3)更新支撑集合 ,将更新索引对应的原子存入Λ; (4)利用最小二乘法得到重建信号,同时对余量进行跟新; (5)若迭代次数小于K,r = r_new,n...
  • 对直方图的理解:直方图是数值数据分布的精确图形表示,建直方图第一步是将的范围分段,即将整个的范围分成一系列间隔,然后计算每个间隔中有多少。 这些通常被指定为连续的,不重叠的变量间隔。 间隔必须...
  • 【转】fluent时间步长设定

    千次阅读 2020-11-26 10:44:26
    1、在不计模型误差,而且计算稳定的前提下,数值计算的时间步长的选取存在一个恰当,过大或过小都会影响模拟结果的准确性。 2、具体数值模拟中,最好能有一定的实验数据或其它的可以认为准确的结果作为验证资料,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 90,619
精华内容 36,247
关键字:

怎么计算步长值