1. 引言
非线性方程
的解法是数值分析 [1] 研究的重要课题之一,其解法多种多样,有不动点迭代法 [2],牛顿迭代法 [3] [4] [5]。最经典的牛顿迭代法具有二阶的收敛速度,但需计算一阶导数值。本文给出了避免一阶导数计算的一个新的迭代公式,它无需计算导数值,只需计算函数值,但也能和经典的牛顿迭代法一样,达到二阶的收敛速度。
2. 非线性方程的求根方法
2.1. 牛顿迭代法
广泛使用的牛顿迭代法公式:
(1)
在公式(1)中,需要计算一阶导数值,在函数本身复杂的情况下是十分不利的。
2.2. 牛顿弦割迭代法
若考虑到函数的表达式十分复杂,那么为了避免导数值繁杂的计算,本文提出用弦割
(2)
来近似代替导数值。可以看到,这个弦割线只包括函数值和参数
,形式简单,摒弃导数值,保留函数值。因此,本文给出牛顿弦割迭代公式:
即
(3)
选取适当的
,牛顿割线迭代法具有至少二阶的收敛速度。
3. 相关定义、定理
3.1. 定义1
设迭代关系式
,在
时,极限为方程
的一个根
,记每次它的迭代误差为
,在
时,有
,就称
为p阶收敛。
3.2. 定理1
设非线性函数
的零点为
,在
的某邻域二阶导数存在,且
,则(3)在
的领域附近至少达到二阶收敛。
证 把
在
点泰勒展开
(4)
(5)
(6)
把
在
点泰勒展开,带入(4)和(5)
(7)
由(4)和(7)
(8)
所以
(9)
两边同时减去
有
(10)
(11)
一定存在一个
,使得上式不等于0,得证。
4. 数值检验
实例1 设
,求
在
上的零点,见表1,精确零点:
。

Table 1. Numerical experiment about zeros of the function: f ( x ) = e x − 1
表1.
的零点数值检验
实例2 设
,求
在
上的零点,见表2,精确零点:
。

Table 2. Numerical experiment about zeros of the function: f ( x ) = x − e − x
表2.
的零点数值检验
从上述实例数值检验结果看到,牛顿弦割迭代法形式优美,计算简单,充分挖掘函数值的信息价值,从而避免计算复杂的导数值,并且这种方法具有至少二阶的收敛迭代速度。另外,由于
取值的不同,使得本文公式求解非线性函数的零点也具有更多的灵活性和泛化性。
参考文献