zoukankan      html  css  js  c++  java
  • 牛顿法继续不稳定

    今天发现之前迭代过程的终止条件写错了,应该是梯度值小于某值时终止,而不是梯度值+Hessian*增量小于某值终止。因为增量本身就是求解 梯度值 + Hessian * x = 0 得来的啊。。。

    改掉了之后迭代次数明显增多,模拟速度变慢。

    应该允许用户设定迭代终止阈值,控制模拟精确度。

    但是,最重要的问题是多个参数时,模拟的结果是错误的。

    当前圆柱弯曲的例子中,角度值增大到20度左右时,弯曲值被锁定为0,不知道什么原因。

    若把其中一个参数禁用掉(方法是乘以0),则模拟正常,但是如果动画速度太快,会有不稳定情形。

    下一步要找出模拟出错的原因。现在推测有以下几种:

    1. Hessian 算错,之前测过独立参数的Hessian,但是没有测过相关参数的Hessian。

    2. 梯度不连续? 

    3. 求解增量的方程病态。当前变量不再随意增长,而是该动的没有动。

    还要找找处理这种情况有没有现成的方法。

  • 相关阅读:
    ubutu安装phonegap 后出现/usr/bin/env:node No such file or directory的错误
    Ubuntu 14.04 x64 安装 Android SDK
    ubuntu64安装ia32-libs
    redis 配置
    flask部署阿里云
    爬虫数据存储
    selnuim 使用
    python 爬虫解析_1_
    scrapy 数据存储mysql
    scrapy 小案例
  • 原文地址:https://www.cnblogs.com/dydx/p/4222590.html
Copyright © 2011-2022 走看看