一种牛顿迭代法的改进——牛顿弦割迭代法
An Improvement of Newton’s Method —Newton’s Chord Secant Method
DOI: 10.12677/PM.2020.1011122, PDF, HTML, XML, 下载: 479  浏览: 875 
作者: 李春辉, 阚渟渟:中国地质大学(武汉),湖北 武汉
关键词: 非线性方程牛顿迭代法弦割Nonlinear Equation Newton’s Method Chord Secant
摘要: 牛顿迭代法是非线性方程求根的一个常用的方法,它具有至少二阶的收敛速度,但是需要计算一阶导数值。本文针对牛顿迭代法进行改进,以弦割代替导数,只需计算函数值,不需计算一阶导数值,同样也具有至少二阶的收敛速度,并且形式简单,计算量小,数值试验表明该迭代公式十分有效。
Abstract: Newton’s method is a commonly used way to find roots of nonlinear equations. It has at least the second-order convergence rate, but it needs to calculate the first-order derivative value. In this paper, the Newton method is improved. The derivative is replaced by a chord secant. It only needs to calculate the value of the function and does not need to calculate the value of the first derivative. It also has at least the second order of convergence speed, and the form is simple and the calculation amount is small. Numerical experiments show that the iterative formula is very effective.
文章引用:李春辉, 阚渟渟. 一种牛顿迭代法的改进——牛顿弦割迭代法[J]. 理论数学, 2020, 10(11): 1031-1034. https://doi.org/10.12677/PM.2020.1011122

1. 引言

非线性方程 f ( x ) = 0 的解法是数值分析 [1] 研究的重要课题之一,其解法多种多样,有不动点迭代法 [2],牛顿迭代法 [3] [4] [5]。最经典的牛顿迭代法具有二阶的收敛速度,但需计算一阶导数值。本文给出了避免一阶导数计算的一个新的迭代公式,它无需计算导数值,只需计算函数值,但也能和经典的牛顿迭代法一样,达到二阶的收敛速度。

2. 非线性方程的求根方法

2.1. 牛顿迭代法

广泛使用的牛顿迭代法公式:

x n + 1 = x n f ( x n ) f ( x n ) (1)

在公式(1)中,需要计算一阶导数值,在函数本身复杂的情况下是十分不利的。

2.2. 牛顿弦割迭代法

若考虑到函数的表达式十分复杂,那么为了避免导数值繁杂的计算,本文提出用弦割

f ( x n + λ f ( x n ) ) f ( x n ) λ f ( x n ) 0 < λ < 1 (2)

来近似代替导数值。可以看到,这个弦割线只包括函数值和参数 λ ,形式简单,摒弃导数值,保留函数值。因此,本文给出牛顿弦割迭代公式:

x n + 1 = x n f ( x n ) f ( x n + λ f ( x n ) ) f ( x n ) λ f ( x n ) 0 < λ < 1

x n + 1 = x n λ f 2 ( x n ) f ( x n + λ f ( x n ) ) f ( x n ) 0 < λ < 1 (3)

选取适当的 λ ,牛顿割线迭代法具有至少二阶的收敛速度。

3. 相关定义、定理

3.1. 定义1

设迭代关系式 x n + 1 = x n φ ( x n ) ,在 n 时,极限为方程 x = φ ( x ) 的一个根 x * ,记每次它的迭代误差为 e n = x n x * ,在 n 时,有 lim n e n + 1 e n p = c ( c 0 ) ,就称 x n + 1 = x n φ ( x n ) 为p阶收敛。

3.2. 定理1

设非线性函数 f ( x ) 的零点为 x * ,在 x * 的某邻域二阶导数存在,且 f ( x ) 0 , f ( x ) 0 ,则(3)在 x * 的领域附近至少达到二阶收敛。

证 把 f ( x n ) x * 点泰勒展开

f ( x n ) = f ( x * ) e n + f ( x * ) 2 e n 2 + o ( e n 2 ) (4)

x n + λ f ( x n ) x * = ( 1 + λ f ( x * ) ) e n + λ f ( x * ) 2 e n 2 + o ( e n 2 ) (5)

( x n + λ f ( x n ) x * ) 2 = ( 1 + λ f ( x * ) ) 2 e n 2 + o ( e n 2 ) (6)

f ( x n + λ f ( x n ) ) x * 点泰勒展开,带入(4)和(5)

f ( x n + λ f ( x n ) ) = f ( x * ) ( 1 + λ f ( x * ) ) e n + f ( x * ) 2 ( λ 2 f 2 ( x * ) + 3 λ f ( x * ) + 1 ) e n 2 + o ( e n 2 ) (7)

由(4)和(7)

f ( x n + λ f ( x n ) ) f ( x n ) = λ f 2 ( x * ) e n + f ( x * ) f ( x * ) 2 ( λ 2 f ( x * ) + 3 λ ) e n 2 + o ( e n 2 ) (8)

所以

x n + 1 = x n λ f 2 ( x n ) f ( x n + λ f ( x n ) ) f ( x n ) = x n λ ( f 2 ( x * ) e n 2 + f ( x * ) f ( x * ) e n 3 ) + o ( e n 3 ) λ f 2 ( x * ) e n + f ( x * ) f ( x * ) 2 ( λ 2 f ( x * ) + 3 λ ) e n 2 + o ( e n 2 ) = x n e n + f ( x * ) f ( x * ) e n 2 + o ( e n 2 ) 1 + f ( x * ) 2 f ( x * ) ( λ f ( x * ) + 3 ) e n + o ( e n ) = x n ( e n + f ( x * ) f ( x * ) e n 2 + o ( e n 2 ) ) ( 1 f ( x * ) 2 f ( x * ) ( λ f ( x * ) + 3 ) e n + o ( e n ) ) = x n e n + f ( x * ) 2 f ( x * ) ( λ f ( x * ) + 1 ) e n 2 + o ( e n 2 ) (9)

两边同时减去 x *

x n + 1 x * = x n x * e n + f ( x * ) 2 f ( x * ) ( λ f ( x * ) + 1 ) e n 2 + o ( e n 2 )

e n + 1 = f ( x * ) 2 f ( x * ) ( λ f ( x * ) + 1 ) e n 2 + o ( e n 2 ) (10)

lim n e n + 1 e n 2 = f ( x * ) 2 f ( x * ) ( λ f ( x * ) + 1 ) 0 (11)

一定存在一个 λ ,使得上式不等于0,得证。

4. 数值检验

实例1 设 f ( x ) = e x 1 ,求 f ( x ) [ 1 , 1 ] 上的零点,见表1,精确零点: x * = 0

Table 1. Numerical experiment about zeros of the function: f ( x ) = e x − 1

表1. f ( x ) = e x 1 的零点数值检验

实例2 设 f ( x ) = x e x ,求 f ( x ) [ 0 , 1 ] 上的零点,见表2,精确零点: x * = 0.567143

Table 2. Numerical experiment about zeros of the function: f ( x ) = x − e − x

表2. f ( x ) = x e x 的零点数值检验

从上述实例数值检验结果看到,牛顿弦割迭代法形式优美,计算简单,充分挖掘函数值的信息价值,从而避免计算复杂的导数值,并且这种方法具有至少二阶的收敛迭代速度。另外,由于 λ 取值的不同,使得本文公式求解非线性函数的零点也具有更多的灵活性和泛化性。

参考文献

参考文献

[1] 李庆扬, 王能超, 易大义. 数值分析[M]. 第4版. 武汉: 华中科技大学出版社, 2006.
[2] 高尚. 不动点迭代的一点注记[J]. 大学数学, 2003, 19(4): 85-88.
[3] 李慧敏, 王晓燕. 对牛顿迭代法及改进的总结[J]. 科技信息, 2013(4): 275-277.
[4] 朱静芬, 韩丹夫. “牛顿类”迭代的收敛性和误差估计[J]. 浙江大学学报(理学版), 2005, 32(6): 623-626.
[5] 吴新元. 对牛顿迭代法的一个重要修改[J]. 应用数学和力学, 1999, 20(8): 3-5.