*1 求解非线性方程的一个新的三阶迭代算法
2012-01-11黄娜马昌凤
黄娜,马昌凤
(福建师范大学 数学与计算机科学学院,福建 福州 350007)
*1求解非线性方程的一个新的三阶迭代算法
黄娜,马昌凤*
(福建师范大学 数学与计算机科学学院,福建 福州 350007)
提出了求解非线性方程实根的一个新的迭代方法,并证明了这种方法是三次收敛的.特别地,当函数在零点的三阶导数值为零时,这种方法是超三次收敛的.此外,通过数值实验验证了所做的理论分析.给出了五个数值算例,从迭代次数,所用CPU时间,误差以及收敛阶这四个方面,将这个新的算法与经典的牛顿法等三个算法进行比较,数值结果表明文章提出的新算法是有效的.
非线性方程;迭代公式;收敛阶;数值实验
在工程计算和科学研究中,如电路和电力系统计算、非线性力学、非线性积分和微分方程等许多领域都要遇到非线性方程的求根问题[1,5].考虑一元非线性方程
本文提出求解非线性方程(1)的一个新的迭代公式,并证明了这个公式具有三次收敛速度.特别地,当函数f(x)在零点的三阶导数值为零时,这种方法是超三次收敛的.本文最后给出了五个数值算例,从迭代次数,所用CPU时间,误差以及收敛阶这四个方面,将这个新的算法及其离散形式与经典的牛顿法等三个算法进行比较,数值结果表明该算法是有效的.
1 算法及其收敛性分析
不妨设函数f∶[a,b]⊆R→R充分可微,x*为非线性方程f(x)=0的根.对任给的x k∈[a,b],函数f(x)在点x k处的Taylor展开式为[2]:
由(5)式可以构造出一种迭代方法来求解非线性方程(1),即经典的牛顿法
已经证明迭代公式(6)至少具有二阶收敛速度.下面我们来推导具有更高收敛阶的迭代公式.事实上,若用右矩形公式近似(3)式中的积分,则有
将(7)代入(3)并略去误差项R[F(x)](仍然使用等号“=”),可得
令x k+1是方程(8)的解,可得下面的迭代公式
由于迭代公式(9)是隐式格式,因此可以用牛顿迭代公式(6)进行预报,于是可以得到求解非线性方程(1)的一个预报校正公式.
下面我们来考虑迭代格式(10)-(11)的收敛性和收敛速度.我们有如下的定理:
定理1.1 设函数f:[a,b]→R充分可微,x*为非线性方程f(x)=0的根,且x*∈[a,b],则迭代方法(10)-(11)是三次收敛的,且误差满足如下等式
等式两边同时乘以f′(y k),并整理得
在(2)式中令x=x*,并注意到f(x*)=0,有
证明记ek=x k-x*,由(11)可以得到
上式可以整理为
上式两边同时除以f′(x k),有
另一方面,在(2)式中令x=y k,有
2 数值实验
下面通过五个数值实验,从迭代次数、CPU时间、误差以及收敛阶这四个方面,将新的算法(10)-(11)(简记为HM)与经典的牛顿法(记为NM),Aslam Noor和 Waseem的算法[4](记为NR1),Cordero和Torregrosa的算法[3](记为CT)进行比较.整个实验在Pentium(R)Dual-Core CPU T4400@2.20 GHz的PC上执行,软件平台为MATLAB 2009b.收敛阶按照下列公式近似计算(参见文[3]).
表1 取初值为x0=0.5的数值结果Table 1 Numerical results of the example 1 for initial value x 0=0.5
算例2函数f(x)=sin(x)ex+ln(x2+1),其中x∈R,该函数有唯一零点x*=0.取初值为x0=1,计算结果如表2.
表2 取初值为x 0=1的数值结果Table 2 Numerical results of the example 2 for initial value x 0=1
算例3函数f(x)=x2-4,其中x∈R,该函数有两个零点,分别为x*=-2.x**=2,分别取初值为x0=-1.5(此时迭代序列收敛于x*)和x0=1.5(此时迭代序列收敛于x**)计算结果分别如表3和表4.
表3 取初值为x0=-1.5的数值结果Table 3 Numerical results of the example 3 for initial value x 0=-1.5
算例4函数f(x)=(x-1)6-1,其中x∈R,该函数有两个零点,分别为x*=0,x**=2.分别取初值为x0=0.5(此时迭代序列收敛于x*)和x0=4(此时迭代序列收敛于x**)计算结果分别如表5和表6.
表5 取初值为x0=0.5的数值结果Table 5 Numerical results of the example 4 for initial value x 0=0.5
表6 取初值为x0=4的数值结果Table 6 Numerical results of the example 4 for initial value x 0=4.0
从以上四个算例可以看出,本文所提出的迭代格式(10)-(11)是有效的,无论是迭代次数或所用CPU时间均优于其它算法.
[1] Burden R L,Faires J D.Numerical Analysis(7th ed.)[M].Boston:PWS Publishing Company,2001.
[2] Ortega J M,Rheinboldt W C.Iterative Solution of Nonlinear Equations in Several variables[M].Academic Press,1970.
[3] Cordero A,Torregrosa J R.Variants of Newton’s Method Using Fifth-order Quadrature Formulas[J].ApplMathComput,2007,190:686-698.
[4] Aslam Noor M,Waseem M.Some Iterative Methods for Solving a System of Nonlinear Equations[J].ApplMathComput,2009,57:101-106.
[5] 马昌凤,林伟川.现代数值计算方法(MATLAB版)[M].北京:科学出版社,2008:6.
A New Third-order Method for Solving Nonlinear Equation
HUANG Na,MA Chang-feng
(SchoolofMathematics&ComputerScience,FujianNormalUniversity,Fuzhou350007,China)
A new iterative method for solving nonlinear equation is introduced.The method is proved to be cubic convergent.Especially,when the third order derivative of functionf(x)is equal to zero in the zero point of the function,this method will be supercubic convergent.In addition,five numerical examples are given to illustrate the efficiency and the performance of the newly developed method confirms the theoretical results.
nonlinear equation;iterative method;convergence order;numerical experiments
O241.7
A
0253-2395(2012)03-0460-05*
2011-04-28;
2012-03-21
国家自然科学基金(11071041)
黄娜(1988-),女,福建闽清人,在读博士研究生.*通讯作者:macf@fjnu.edu.cn