牛顿迭代法
2014-12-29 20:55
169 查看
牛顿迭代法(英文名Newton’s Iteration)是用来求函数的根的高效算法。
递推公式为
图1
大概思想:
如图所示,取一个点(xn,f(xn)),过该点作切线交x轴于(xn+1,0)很容易得到
稍微变形,就可以得到最开始给出的公式。
这大概是一个无限逼近的思想,通过一次计算得到xn+1当作下次计算的xn,一直递推下去,因为斜率一直都更加逼近f ’(x),虽然△y不断变小,但是算法效率还是相当高的,每一次运算得到的的精度,大概都会增加一倍,计算7~10步,就可以得到一个精度相当高的近似值。
作用举例,我现在想求x^(1/3);
首先,我需要构造函数,f(x)=x^3 -n,这样我只要求出f(x)=0的根,即为:使x^3=n的x;即为n的1/3次幂;
带入公式(图1) 可得
递推即可轻松求解。
C的sqrt()就是利用这个算法求的
递推公式为
图1
大概思想:
如图所示,取一个点(xn,f(xn)),过该点作切线交x轴于(xn+1,0)很容易得到
稍微变形,就可以得到最开始给出的公式。
这大概是一个无限逼近的思想,通过一次计算得到xn+1当作下次计算的xn,一直递推下去,因为斜率一直都更加逼近f ’(x),虽然△y不断变小,但是算法效率还是相当高的,每一次运算得到的的精度,大概都会增加一倍,计算7~10步,就可以得到一个精度相当高的近似值。
作用举例,我现在想求x^(1/3);
首先,我需要构造函数,f(x)=x^3 -n,这样我只要求出f(x)=0的根,即为:使x^3=n的x;即为n的1/3次幂;
带入公式(图1) 可得
递推即可轻松求解。
C的sqrt()就是利用这个算法求的
相关文章推荐
- 牛顿迭代法解一元方程组
- 牛顿迭代法
- 用牛顿迭代法求浮点数的平方根
- 牛顿迭代法
- 【Machine Learning实验】牛顿迭代法
- 不用sqrt库函数求一个整数的平方根(牛顿迭代法)
- SICP 1.1.7 牛顿迭代法求方根
- 牛顿迭代法解非线性方程组(MATLAB版)
- 牛顿迭代法实现平方根函数sqrt
- 牛顿迭代法 C
- 用牛顿迭代法求下面方程在1.5附近的根:2x^3-4x^2+3X-6=0
- 牛顿迭代法求数的平方根
- 牛顿迭代法
- 牛顿迭代法总结
- 算法之【牛顿迭代法】
- 编程能力提高-----用牛顿迭代法求输入的数的平方根
- 牛顿迭代法快速求平方根
- 梯度下降法,牛顿法,高斯-牛顿迭代法,附代码实现
- 刷清橙OJ--A1094.牛顿迭代法求方程的根
- Codeforces 833A The Meaningless Game - 数论 - 牛顿迭代法 - 二分法