割线法求方程根

割线法

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

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

目录

  • 1 方法
  • 2 方法的推导
  • 3 收敛
  • 4 参见
  • 5 外部链接

方法

割线法求方程根_第1张图片
割线法的最初两个迭代。红色曲线表示函数 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是连续的二阶可导函数,且函数的根不是重根。

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

你可能感兴趣的:(割线法求方程根)