求方程的值——牛顿迭代法
2013-06-25 22:31
197 查看
求解方程:
2X^3 - 4x^2 +3X-6 = 0
解非线性方程f(x)=0的牛顿法是把非线性方程线性化的一种近似方法。
(一)若函数f(x)在点的某一邻域内具有直到(n+1)阶导数,则在该邻域内f(x)的n阶泰勒公式为:
f(x)=f(x0)+f`( x0)(x- x0)+f``( x0)(x-x0)²/2!+f```( x0)(x- x0)³/3!+...fn(x0)(x- x0)^n/n!+.... 其中:fn(x0)(x- x0)^n/n!,称为拉格朗日余项。
以上函数展开式称为泰勒级数。
(二)
取其线性部分,作为非线性方程f(x) = 0的近似方程,即泰勒展开的前两项,则有f(x0)+f'(x0)(x-x0)=0
设f'(x0)≠0则其解为x1=x0-f(x0)/f'(x0) 这样,得到牛顿法的一个迭代序列:x n+1=x n
-f(x n ) /f'(x n )。
(三)
知识补充:
网易公开课 泰勒级数 http://v.163.com/movie/2006/8/F/4/M6GLI5A07_M6GLMCDF4.html
复变函数http://baike.baidu.com/view/134430.htm
2X^3 - 4x^2 +3X-6 = 0
解非线性方程f(x)=0的牛顿法是把非线性方程线性化的一种近似方法。
(一)若函数f(x)在点的某一邻域内具有直到(n+1)阶导数,则在该邻域内f(x)的n阶泰勒公式为:
f(x)=f(x0)+f`( x0)(x- x0)+f``( x0)(x-x0)²/2!+f```( x0)(x- x0)³/3!+...fn(x0)(x- x0)^n/n!+.... 其中:fn(x0)(x- x0)^n/n!,称为拉格朗日余项。
以上函数展开式称为泰勒级数。
(二)
取其线性部分,作为非线性方程f(x) = 0的近似方程,即泰勒展开的前两项,则有f(x0)+f'(x0)(x-x0)=0
设f'(x0)≠0则其解为x1=x0-f(x0)/f'(x0) 这样,得到牛顿法的一个迭代序列:x n+1=x n
-f(x n ) /f'(x n )。
(三)
#include "stdafx.h" #include "math.h" float getRootInteration() { float x0 = 1.5; float x1 , b; do { x1 = x0 - ( 2*x0*x0*x0 - 4*x0*x0 + 3*x0 -6 ) / ( 6* x0 * x0 - 8*x0 +3 ); b = x0 ; x0 = x1; } while (fabs(x0 - b) > 1e-5); return b ; }
知识补充:
网易公开课 泰勒级数 http://v.163.com/movie/2006/8/F/4/M6GLI5A07_M6GLMCDF4.html
复变函数http://baike.baidu.com/view/134430.htm
相关文章推荐
- 求解一元多次方程的两种方法:牛顿迭代法和二分法
- 求解一元多次方程 牛顿迭代法
- c语言:用牛顿迭代法求方程在1.5附近的根:2x^3-4x^2+3x-6=0.
- 1.6_牛顿迭代法求方程的根
- 刷清橙OJ--A1094.牛顿迭代法求方程的根
- 牛顿迭代法求方程的根
- 牛顿迭代法求方程的根
- 多变量非线性方程求解问题(牛顿迭代法)
- 用牛顿迭代法求方程2X*X*X-4X*X+3*X-6=0在X=1.5 附近的根!
- 用牛顿迭代法和二分法求方程的根【C语言】
- 牛顿迭代法求方程的根
- 牛顿迭代法求方程根
- 牛顿迭代法解一元方程组
- 牛顿迭代法求方程根
- C语言之基本算法25—牛顿迭代法求方程近似根
- 用牛顿迭代法求下面方程在1.5附近的跟
- 关于使用牛顿迭代法和二分法解方程的算法说明
- 计算方法之牛顿迭代法求方程根
- 牛顿迭代法求解方程
- 用牛顿迭代法求下面方程在1.5附近的根:2x^3-4x^2+3x-6=0