割线法

维基百科,自由的百科全书
跳转至: 导航搜索

数值分析中,割线法是一个求根算法,该方法用一系列割线的根来近似代替函数f的根。

方法[编辑]

割线法的最初两个迭代。红色曲线表示函数f,蓝色曲线表示割线。

割线法由以下的递推关系定义:

x_{n+1} = x_n - \frac{x_n-x_{n-1}}{f(x_n)-f(x_{n-1})} f(x_n).

从上式中可以看出,割线法需要两个初始值x0x1,它们离函数的根越近越好。

方法的推导[编辑]

给定xn−1xn,我们作通过点(xn−1, f(xn−1))和(xn, f(xn))的直线,如右图所示。注意这条直线是函数f割线,或弦。这条割线的点斜式直线方程为:

 y - f(x_n) = \frac{f(x_n)-f(x_{n-1})}{x_n-x_{n-1}} (x-x_n).

我们现在选择xn+1为这条割线的根,因此xn+1满足以下的方程:

 f(x_n) + \frac{f(x_n)-f(x_{n-1})}{x_n-x_{n-1}} (x-x_n) = 0.

解这个方程,便可以得出割线法的递推关系。

收敛[编辑]

如果初始值x0x1离根足够近,则割线法的第n次迭代x收敛于f的一个根。收敛速率为α,其中:

 \alpha = \frac{1+\sqrt{5}}{2} \approx 1.618

黄金比。特别地,收敛速率是超线性的。

这个结果只在某些条件下才成立,例如f是连续的二阶可导函数,且函数的根不是重根。

如果初始值离根太远,则不能保证割线法收敛。

参见[编辑]

外部链接[编辑]