|
在实际应用中,常常求方程$f(x)=0$的解。而方程求解的方法主要有两种:解析法和数值法。解析法也称为公式法,得到的解是精确的,比如一元二次方程的求解公式。然而并不是所有的方程的根都能通过这种方法而求得。法国著名数学家伽罗瓦(Galois)在19世纪就证明了形如
$$y=a_nx^n+a_{n-1}x^{n-1}+ \cdots +a_0=0(a_n \ne 0)$$
的代数方程,当$n \ge 5$时,一般不存在求解公式。因此对于一般方程,我们必须寻求其他的求解方法。
下面我们介绍一种数值解法——牛顿切线法。
设$f$为$[a,b]$上的二阶可导函数,满足
$$f'(x) \cdot f''(x) \ne 0,f(a) \cdot f(b)<0。$$
牛顿切线法的基本思想是构造一收敛点列$\left\{x_n \right\}$,使其极限$\lim\limits_{n \to \infty}x_n= \xi$恰好是方程$f(x)=0$的解。因此当$n$充分大时,$x_n$可作为$\xi$的近似值。下面分四种情形进行讨论。
(1)设$f'(x)<0$,$f''(x)>0$。从而有$f(a)>0$,$f(b)<0$,并设$f(\xi)=0$。令
$$x_0=a,x_n=x_{n-1}-\frac{f(x_{n-1})}{f'(x_{n-1})},n=1,2,\cdots。$$
因为$f''(x)>0$,所以$f$为$[a,b]$上的严格凸函数,有
$$f(x) \ge f(a)+f'(a)(x-a),x \in (a,b]。$$
设$x_0=a$,则$y=f(x)$在点$a$的切线与$x$轴的交点为
$$x_1=a-\frac{f(a)}{f'(a)}=x_0-\frac{f(x_0)}{f'(x_0)}$$
由$f$为$[a,b]$上的严格凸函数,可知$f(x_1)>0$。
以$[x_1,b]$代替$[a,b]$重复上述步骤可将$y=f(x)$在点$x_1$的切线与$x$轴交点为
$$x_2=x_1-\frac{f(x_1)}{f'(x_1)},$$
其中$f(x_2)>0$,$a=x_0<x_1<x_2< \xi<b$。
如此继续上述过程可得如上式确定的点列$\left\{x_n \right\}$。显然$\left\{x_n \right\}$严格递增且有上界,故可设$\lim\limits_{n \to \infty}x_n=c$。由于$f$和$f'$连续,对上式取极限,得
$$c=c-\frac{f(c)}{f'(c)}$$
因而有$f(c)=0$。由$f$严格单调,可知方程$y=f(x)$的解唯一,从而$c= \xi$。
最后我们估计以$x_n$作为$\xi$的近似值的误差。由中值定理
$$f(x_n)=f(x_n)-f(\xi)=f'(\eta)(x_n- \xi),x_n < \eta< \xi,$$
因而
$$x_n- \xi=\frac{f(x_n)}{f'(\eta)}。$$
记$m= \min\limits_{x \in [a,b]}{|f'(x)|}$,则
$$|x_n- \xi| \le \frac{|f(x_n)|}{m}。$$
读者可类似讨论余下三种情形。
(2)$f'(x)>0$,$f''(x)>0$,这时又有$f(a)<0$,$f(b)>0$;
(3)$f'(x)>0$,$f''(x)<0$,这时又有$f(a)<0$,$f(b)>0$;
(4)$f'(x)<0$,$f''(x)<0$,这时又有$f(a)>0$,$f(b)<0$;
对它们同样能构造数列,并可证明其极限是方程$y=f(x)$的解。只是在(2)、(4)两种情形下,应改取$x_0=b$,相应得到的$\left\{x_n \right\}$是单调递减的。 |
|