范倩楠,王晓锋
(渤海大学)
多点迭代法是解非线性方程的一类有效方法.近年来,有许多高效方法被提出[1-5],其中无导数多点迭代求解法就是一种常见且简易的求解方法,史蒂芬森法是最经典的无导数迭代法[6],其格式如下:
(1)
史蒂芬森法是2阶收敛的,且在每次迭代过程中需要计算2个函数值.
定义2[7]若迭代法在每次迭代过程中需计算的函数值总数为n,并且迭代法的收敛阶数为2n-1,则该收敛阶数为迭代法的最优收敛阶数,简称最优阶.
构造格式如下:
(2)
其中zk=xk+f(xk).
定理设f(x):I→R在开区间I内具有5阶导数,如果a∈I是f(x)=0的单根,且x0充分靠近a,则式(2)的收敛阶为四阶,其误差表达式为
(3)
证明设ek=xk-a,ez=zk-a,ey=yk-a.
利用Taylor展开式将函数f(x)在零点a处展开,并令x=xk,可得
(4)
(5)
与式(4)类似,利用Taylor展开式,将函数f(x)在零点a处展开,并令x=zk,可得
(6)
f′(a)(2c2c3f′(a)+c4(2+2f′(a)+
(7)
由式(2)-式(5),可得
(8)
利用Taylor展开式,将函数f(x)在零点a处展开,并令x=yk,可得
f′(a)3)-c2c3(7+10f′(a)+7f′(a)2+
(9)
同理得
(10)
(11)
利用式(2)-式(9),可得误差表达式为
ek+1=xk+1-a=yk-a-
(12)
为了验证迭代法的收敛性,将新的4阶收敛的无导数两步迭代法(2)与牛顿迭代法 (NM)[8]、史蒂芬森方法 (ST)[6]、King方法 (K4)[9](当β=1时),以及Ostrowski方法(O4)[10]进行比较.实验运行环境为Windows 10,Matlab 7.0编程,数值结果见表1,其中:x0为初始值;a为非线性方程的根; |xk-a|(k=1,2,3)为绝对误差的绝对值;|f(xk)|为最后一次迭代所得近似解函数值的绝对值;ρ[7]为近似计算收敛阶,其计算公式为
数值试验中使用如下3个测试函数:
(1)f1(x)=x5+x4+2x2-15,
a≈1.347428098968305,x0=1.4;
a≈2.278862660075828,x0=2.0;
(3)f3=10xe-x2-1,a≈1.679630610428,x0=1.8.
表1 函数f i(x)(i=1,2,3)的数值结果