查看“割线法”的源代码
←
割线法
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
在[[数值分析]]中,'''割线法'''是一个[[求根算法]],该方法用一系列[[割线]]的根来近似代替[[函数]]''f''的根。 == 方法 == [[File:Secant method.svg|thumb|300px|割线法的最初两个迭代。红色曲线表示函数''f'',蓝色曲线表示割线。]] 割线法由以下的[[递推关系]]定义: :<math>x_{n+1} = x_n - \frac{x_n-x_{n-1}}{f(x_n)-f(x_{n-1})} f(x_n). </math> 从上式中可以看出,割线法需要两个初始值''x''<sub>0</sub>和''x''<sub>1</sub>,它们离函数的根越近越好。 == 方法的推导 == 给定''x''<sub>''n''−1</sub>和''x''<sub>''n''</sub>,我们作通过点(''x''<sub>''n''−1</sub>, ''f''(''x''<sub>''n''−1</sub>))和(''x''<sub>''n''</sub>, ''f''(''x''<sub>''n''</sub>))的直线,如右图所示。注意这条直线是函数''f''的[[割线]],或弦。这条割线的[[斜率|点斜式直线方程]]为: :<math> y - f(x_n) = \frac{f(x_n)-f(x_{n-1})}{x_n-x_{n-1}} (x-x_n). </math> 我们现在选择''x''<sub>''n''+1</sub>为这条割线的根,因此''x''<sub>''n''+1</sub>满足以下的方程: :<math> f(x_n) + \frac{f(x_n)-f(x_{n-1})}{x_n-x_{n-1}} (x-x_n) = 0. </math> 解这个方程,便可以得出割线法的递推关系。 == 收敛 == 如果初始值''x''<sub>0</sub>和''x''<sub>1</sub>离根足够近,则割线法的第''n''次迭代''x''<sub></sub>收敛于''f''的一个根。[[收敛速率]]为α,其中: :<math> \alpha = \frac{1+\sqrt{5}}{2} \approx 1.618 </math> 是[[黄金比]]。特别地,收敛速率是超线性的。 这个结果只在某些条件下才成立,例如''f''是连续的二阶可导函数,且函数的根不是重根。 如果初始值离根太远,则不能保证割线法收敛。 == 参见 == {{求根演算法}} == 外部链接 == * [https://web.archive.org/web/20081017170057/http://math.fullerton.edu/mathews/a2001/Animations/RootFinding/SecantMethod/SecantMethod.html 割线法的动画] * {{MathWorld|urlname=SecantMethod|title=Secant Method}} *[https://web.archive.org/web/20081021053130/http://math.fullerton.edu/mathews/n2003/SecantMethodMod.html John H. Mathews所作的割线法教程]
本页使用的模板:
Template:MathWorld
(
查看源代码
)
Template:求根演算法
(
查看源代码
)
返回
割线法
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息