割线法
跳转到导航
跳转到搜索
此条目没有列出任何参考或来源。 (2025年1月8日) |
在数值分析中,割线法是一个求根算法,该方法用一系列割线的根来近似代替函数f的根。
方法[编辑]
割线法由以下的递推关系定义:
- <math>x_{n+1} = x_n - \frac{x_n-x_{n-1}}{f(x_n)-f(x_{n-1})} f(x_n). </math>
从上式中可以看出,割线法需要两个初始值x0和x1,它们离函数的根越近越好。
方法的推导[编辑]
给定xn−1和xn,我们作通过点(xn−1, f(xn−1))和(xn, f(xn))的直线,如右图所示。注意这条直线是函数f的割线,或弦。这条割线的点斜式直线方程为:
- <math> y - f(x_n) = \frac{f(x_n)-f(x_{n-1})}{x_n-x_{n-1}} (x-x_n). </math>
我们现在选择xn+1为这条割线的根,因此xn+1满足以下的方程:
- <math> f(x_n) + \frac{f(x_n)-f(x_{n-1})}{x_n-x_{n-1}} (x-x_n) = 0. </math>
解这个方程,便可以得出割线法的递推关系。
收敛[编辑]
如果初始值x0和x1离根足够近,则割线法的第n次迭代x收敛于f的一个根。收敛速率为α,其中:
- <math> \alpha = \frac{1+\sqrt{5}}{2} \approx 1.618 </math>
是黄金比。特别地,收敛速率是超线性的。
这个结果只在某些条件下才成立,例如f是连续的二阶可导函数,且函数的根不是重根。
如果初始值离根太远,则不能保证割线法收敛。