非线性方程求根的加速方法
2014-11-30张万胜聂维琳
王 承,张万胜,聂维琳
(惠州学院 数学系,广东 惠州 516005)
在科学与工程计算中,经常会遇到如下非线性问题的求解:f(x)=0。因此,寻求一种快速、高效的非线性方程求根方法是一个重要课题,其在某些实际问题中起着关键作用。对于一般非线性方程的求解,最早的有二分法,此外不动点迭代方法、牛顿法、不动点迭代加速方法、割线法及弦截法等。对于收敛的迭代过程,只要迭代足够多次,就可以使结果达到任意的精度,但有时迭代过程收敛缓慢,从而使计算量变得很大,因此迭代过程的构造加速是个重要的课题。在本文中,我们利用简单的迭代公式和几个迭代加工公式构造几个新的迭代公式。通过计算验证,这几个公式在非线性方程求根上有明显的效果。
1 迭代法的概念及其进展
迭代法就是从一个或者几个给定的初始值x0,x1,x2,…,xr出发,按照某种指定的方法产生一个序列x0,x1,…,xr,xr+1,…,使得该序列收敛于方程f(x)=0的一个根x*,
即
由此我们可以看出来,当k足够大时,可以取xk作为x*的一个近似值。一般情况下,对于一种新的解法,为了考察它的有效性,都要讨论它的计算量、收敛阶、收敛速度和收敛效率,即考虑什么样的条件构造的序列是收敛的,以及序列中的近似解是按什么样的误差下降速度来逼近真实解的。
2 一种新的求根迭代公式
2.1 迭代公式的一个定理
定理1[1]假定函数φ(x)满足下列两项条件:
10对任意x∈[a,b]
有
a≤φ(x)≤b,
20存在正数L<1,使对任意x∈[a,b]
有
则迭代过程xk+1=φ(xk)对于任何x0∈[a,b]均收敛于方程x=φ(x)的根x*。
2.2 第一个新的迭代公式
根据定理1和迭代公式xk+1=φ(xk),我们构造这样的公式:
且
x∈[a,b], (3.1)
即
又
所以迭代公式(3.1)可以收敛。
2.3 新公式的验算
下面,我们通过此公式来求f(x)=x3-x-1=0在x0=1.5附近的根x*。
根据(3.1)令1≤x≤2
得
如下表记录了各步迭代的结果,可以看出,仅取6位数字的情况下,结果x13和x14完全相同,这时可以认为x13是这个方程的根。
该公式通过几次迭代后,可以得出所要求的根,说明这个迭代公式确实可用来求解非线性方程的根,尽管其收敛速度较慢,我们可采用以下所做的加速方法对此进行加速。另外,通过几次验算,可以发现,用这个公式求根的快慢与x的范围选择也有一定关系。
3 迭代公式的加工的第一种改进方法
3.1 第二个迭代公式
设x*是f(x)的根,考虑迭代过程中当k充分大时可以认为
解得
公式可变为
这样就构造出一个新的迭代加速公式。
3.2 新公式的验算
我们通过公式(3.2)来求方程x=e-x在x=0.5附近有一个根。
根据公式
通过计算得出如下表结果:
由表可以得到,该方程的根为0.56714。
加速公式(3.2)是在原公式的基础上对误差进行更精细分析得到,通过比较,加速公式(3.2)在求根的速度上比原迭代公式求根快,加速效果明显。同时,该方法具有一定推广性。
4 迭代公式的加工的第二种改进方法
4.1 第三个新的迭代公式
由迭代公式加速公式
得
令
考虑将之再次进行上述加速可得如下公式
即
这样我们就得到迭代公式(4.2)。
4.2 新的公式的验算
下面我们来求解方程x=e-x在x=0.5附近的一个根。
解:由于根在x=0.5附近,
则有
L=(e-x)′≈-0.6。
又因为
通过计算得出下表结果。
这样我们可以得出该方程的根为0.56714。
新的公式(4.2)是将原来的加速结果进行了再一次同样的加速。与原迭代公式求根速度对比,新的公式求根的加速效果相当明显。
5 埃特金方法的改进
5.1 第四个新的迭代公式
由迭代加速公式
则有
令
得
因此,我们就得到迭代公式(3.4)。
5.2 新的公式的验算
我们用公式(3.4)来求下面一个方程
解:可以看出这个方程的迭代公式是发散的。
根据
取x0=1.5,计算结果如表
我们看到,用上面公式可以获得相当好的收敛效果。
与上一种改进方法相近,本节中新的公式也是在原有的埃特金加速方法基础上,进一步进行同样过程的加速而得到,对结果进行比较,尽管迭代公式形式较为复杂,但在求根速度上确实有显著加快。
6 全文总结
关于线性方程的解法和理论已经有了深入的研究,迭代法是解非线性方程的常用方法,也是数值分析中的一种基本方法。本文首先构造了一个最直接的新迭代公式,而后三个新的公式都是非线性方程求根加速的方法,在一定的程度上能够在求根中进行加速。通过实验分析,得到了这些算法比原来的算法收敛速度加快,显示出这些新的算法对于减少计算量,提高计算效率的重要的实际意义。
[1]李洋洋.非线性方程的迭代解法研究[D].合肥:合肥工业大学,2012.
[2]王公俊.非线性方程迭代方法的研究[D].合肥:合肥工业大学,2012.
[3]钱凌志,蔡慧萍.非线性方程求根的加权迭代法[J].科技信息,2009,10:416.
[4]胡丽莹,肖蓬.非线性方程求根的一种新算法[J].福建师范大学学报:自然科学版,2009,03:26-28.
[5]聂存云,李珍辉.非线性方程求根的一种新方法[J].扬州大学学报:自然科学版,2010,02:17-19.
[6]陈跃辉.非线性方程求根的新算法[J].漳州师范学院学报:自然科学版,2006,03:1-3.
[7]张保祥.非线性方程求根简单迭代法的一种改进[J].佳木斯大学学报:自然科学版,2007,06:830-831.
[8]赵艳霞.非线性方程求根的迭代法研究[J].鸡西大学学报,2008,02:112-113.
[9]高虹霓,曹泽阳.一种新的非线性方程求根迭代法[J].空军工程大学学报:自然科学版,2002,02:84-86.