stdlib中的牛顿模块 - 它做了什么?

时间:2012-03-06 19:33:58

标签: ruby math

BigDecimal有一些难以记录的模块,如Newton

  

“用牛顿法求解非线性代数方程组f = 0   方法。该程序不依赖于BigDecimal。

     

致电:

     

n = nlsolve(f,x)其中n是所需的迭代次数,         x是初始值向量         f是一个Object,用于计算要求解的方程的值。 “

就是这样。谷歌没有产生我能理解的东西。我想看一些示例代码,其中包含一些不太重要的数学解释;更好地了解工具箱底部的奇怪之处是什么。

1 个答案:

答案 0 :(得分:3)

Newton's Method是一种近似方程根的方法。如果您的功能满足一些连续性要求,那就非常好。

方法是:

  1. 采取起点
  2. 此时,找到一条切线
  3. 找出切线在哪里有根。以根为根据。
  4. 如果您已达到容差,请将此点作为解决方案返回。如果没有,请使用此作为新点返回#1。