基本思想与迭代公式
通常对已知方程f(x)=0进行变形而构造的迭代函数φ(x)不是惟一的。在实际作用中,如果希望迭代函数φ(x)有一种固定格式的构造方法,就可以采用Newton迭代法。
Newton迭代法的基本思想是:设法将一个非线性方程f(x)=0转化为某种线性方程求解,其解决问题的基础是Taylor(泰勒)多项式。具体描述如下:
设f(x)=0的近似根为xk,则函数f(x)在点xk附近可用一阶Taylor多项式p1(x)来近似,即:
p(x)=f(xk)+f′(xk)(x−xk)≅f(x)
从而得到线性方程:
f(xk)+f′(xk)(x−xk)=0
解之,得该线性方程的根x,但它是f(x)=0的一个新近似根,记做xk+1,即:
xk+1=xk−f′(xk)f(xk)
上式实质上就是一种迭代格式,称为Newton迭代格式。相应地,Newton迭代函数为:
φ(x)=x−f′(x)f(x)(1)
于是,按(1)式构造迭代函数解方程f(x)=0的方法,就是Newton迭代法。
Newton迭代法的几何解释如下图所示。方程f(x)=0的根x∗为y=f(x)和y=0(即x轴)的交点。设xk为x∗的某个初始近似值,过pk点(xk,f(xk))作y=f(x)的切线交x轴于xk+1,即为所求得的近似值。继续过pk+1点(xk+1,f(xk+1)),pk+2点(xk+2,f(xk+2)),⋯,作y=f(x)的切线,即可逐步逼近精确的根x∗。因此,Newton法也叫切线法,因为它是沿着曲线y=f()x上某一点作切线逐步外推逼近的。从pk点作切线与x轴的交点xk+1,由于y=f(x)不是直线,所以f(xk+1)就不可能为零。因此必须以xk+1作为新的起点,从与之对应的pk+1点继续作切线,重复上述步骤,直至f(xk+1)充分小,逼近零时为止。
例1:用Newton迭代法求方程xex−1=0的根。
解:方程可改写为x=e−x,即f(x)=x−e−x=0,此方程的Newton迭代格式为:
xk+1=xk−1+e−xkxk−e−xk=xk−1+xkxk−e−xk
取迭代初值为x0=0.5,逐次迭代结果为x1=0.57102,x2=0.56716;x3=0.56714;x4=0.56714。由此可见,迭代4次即达到了∣x4−x3∣≤0.000005的要求,收敛速度是很快的。
例2:推导立方根的Newton迭代公式,并求a=155的立方根。
解:该问题等价于求f(x)=x3−a的零点,即解方程:
f(x)=x3−a=0
运用Newton迭代公式,有:
xk+1=xk−f′(xk)f(xk)=xk−3xk2xk3−a=32xk−3xk2a
令a=155,x0=5,迭代计算结果为:
n |
0 |
1 |
2 |
3 |
x |
5 |
5.4 |
5.371834 |
5.371686 |
仅迭代3步就求得精确解。再使用较差一些的初值x0=10,则迭代计算结果为:
n |
0 |
1 |
2 |
3 |
4 |
5 |
x |
10 |
7.183334 |
5.790176 |
5.401203 |
5.371847 |
5.371686 |
迭代5步之后得到精确值。
使用Newton法求方程的根,在什么条件下、选取什么样的初始值x0,才能保证迭代过程总是收敛于方程的根的根x∗呢?这是运用Newton法求方程根的重要问题。