Newton-Raphson切线法解高次方程近似根

简介: Newton-Raphson切线法解高次方程近似根 对于一般的一次,二次方程来说,求解方程的根比较简单。但是对于四次、五次甚至更高次方程,求解方程的f(x)=0的根变得十分困难甚至不可能完成。

Newton-Raphson切线法解高次方程近似根

 

对于一般的一次,二次方程来说,求解方程的根比较简单。但是对于四次、五次甚至更高次方程,求解方程的f(x)=0的根变得十分困难甚至不可能完成。为此Newton(牛顿)在1736 Method of Fluxions 中发表文章提出一种解决方案,事实上,牛顿所提出的这种方案,另一位数学家Joseph Raphson1690已经发现。为此,牛顿法也称为Newton-Raphson method

牛顿法求解方程近似根,最明显的标志是利用方程的切线,所以牛顿法也称为切线法。

如图1:

 

 方程y=f(x)=0的根,是f(x)与x坐标轴的交点。黑色的方块点就是真实的方程根,是我们要求解的根。但是在有些情况下,方程的阶数太高,无法直接求解,所以只能求出近似值。

为了找到这个根的近似值,采取一步一步趋近的方法。具体来说:

(一)首先选择一个起始值,这个起始值的选择可以人为的、经验性质的选定一个较为合理的点,该点当然是y=f(x)上的点。在图1中就是(x0,f(x0))作为初始化的点。点(x0,f(x0))的选择是先验的。

(二)然后过点(x0,f(x0))上的点做一条切线,过曲线上一点的切线方程有现成的点斜式方程公式可用,

  (公式1)

求得该切线方程后,该切线与x坐标轴相交,再一次求得过(x0,f(x0))点的切线与x坐标轴的交点x1,。

(三)获得x1后,把x1带回到曲线y=f(x)中,于是有了第二点(x1,f(x1)),继续求过(x1,f(x1))点的切线方程,与改切线方程x坐标轴的交点为x2。

(四)拿到x2后,带回曲线方程,得到新点(x2,f(x2)),还是求过该点的切线方程,该切线方程与x坐标轴有交点,交点可以得到为x3。

 

至此,可以看到,通过从x0到x3的每一轮逼近,x3已经十分接近要求的黑色方块值。如果x3的结果不够理想,可以继续采取上述步骤再做几次循环求解。

总结,如图2:

 

更普遍的,把(xn,f(xn))代入公式1,令点斜式方程y=0,可以得到每一次进一步的求解更逼近的x结果的公式:

 

这样循环往复,最终可以取得理想的方程y=f(x)=0的近似解。可以看出,牛顿法数学思想再加上几何化比较明显,所以简单易用,但是也可以看出在实际的求解过程,所消耗的人类计算量通常会很大,所以在手工计算数值时代,牛顿法的实用性不是非常理想。如今牛顿法重获新生,是因为计算机的数值计算非常适应牛顿法,计算机非常喜欢这种类型的迭代计算模式,计算机不同于人类,尤其擅长这种数值方面的这种迭代计算。

但是要注意,牛顿法对初始值的选择有一定程度的敏感,如图3:


图3中的方程选择的初始值(x0,f(x0))导致无法求解到方程的根。是一个死循环。

还有就是,牛顿法所求的根,在距离较远处逼近时候,因为初始值x0选择不当,可能会求得不是想要的结果,如图4:


相关文章
|
3天前
【数值分析】迭代法求方程的根(附matlab代码)
【数值分析】迭代法求方程的根(附matlab代码)
|
3天前
|
算法
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线(上)
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线
|
3天前
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线(下)
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线
|
10月前
一元函数微分学中导数--高阶导数--极值--凹凸性--泰勒展开式
一元函数微分学中导数--高阶导数--极值--凹凸性--泰勒展开式
【矩阵分析】矩阵幂级数 发散 条件 || 幂级数 与 解析函数 的关系 || 幂级数 收敛半径r 的求法
【矩阵分析】矩阵幂级数 发散 条件 || 幂级数 与 解析函数 的关系 || 幂级数 收敛半径r 的求法
【矩阵分析】矩阵幂级数 发散 条件 || 幂级数 与 解析函数 的关系 || 幂级数 收敛半径r 的求法
|
机器学习/深度学习 传感器 算法
【随机分形搜索算法】一种新的全局数值优化的适应度-距离平衡随机分形搜索算法FDB-SFS附matlab代码
【随机分形搜索算法】一种新的全局数值优化的适应度-距离平衡随机分形搜索算法FDB-SFS附matlab代码
|
数据挖掘 Serverless Python
Lagrange、Newton、分段插值法及Python实现
Lagrange、Newton、分段插值法及Python实现
Lagrange、Newton、分段插值法及Python实现
|
人工智能 BI
余弦距离和欧氏距离,知道原理和公式后真的很简单
余弦距离和欧氏距离,知道原理和公式后真的很简单
475 0
余弦距离和欧氏距离,知道原理和公式后真的很简单
|
机器学习/深度学习
【组合数学】递推方程 ( 非齐次部分是 指数函数 且 底是特征根 | 求特解示例 )
【组合数学】递推方程 ( 非齐次部分是 指数函数 且 底是特征根 | 求特解示例 )
132 0