割线法求方程根

转载 2013年12月05日 23:44:59

割线法

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

数值分析中,割线法是一个求根算法,该方法用一系列割线的根来近似代替函数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是连续的二阶可导函数,且函数的根不是重根。

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

matlab中运用二分法和割线法求方程的根

  • 2011年12月24日 23:28
  • 881B
  • 下载

双点割线法解非线性方程

1 题目:双点割线法解非线性方程。2 算法原理:见《计算方法教程(第2版)》,凌永祥,陈明奎。西安交通大学出版社。2005年4月第二版。第199页到第200页。3 代码:以C语言编写,编译执行环境为V...
  • lichengyu
  • lichengyu
  • 2009年12月06日 12:41
  • 1901

牛顿迭代法、双点割线法及改进的双点割线法的比较

牛顿迭代法、双点割线法及改进的双点割线法的比较1 题目:求=0的根。2 算法组织:2.1 牛顿迭代法算法原理见《计算方法教程(第2版)》,凌永祥、陈明奎编著,西安交通大学出版社,2005年4月第2版,...
  • lichengyu
  • lichengyu
  • 2009年11月17日 12:31
  • 2997

matlab中feval函数的用法

语法[y1,y2,...] = feval(fhandle,x1,x2,...,xn) [y1,y2,...] = feval(fname,x1,x2,...,xn)描述第一种用法中的fhandle是...
  • WhoisPo
  • WhoisPo
  • 2016年01月05日 22:14
  • 9250

Matlab feval函数

当需要学习Matlab中一个函数的用法时,第一步就是help。>> help feval; FEVAL Execute the specified function. FEVAL(F,x1,...,x...
  • flying881114
  • flying881114
  • 2010年02月13日 08:33
  • 11751

试位法求解非线性方程的根

本次实现试位法的算法,该算法的背景如下: 该算法的详细解释如下: 该算法的实现如下:/* *试位法 *方程f(x)=0在区间[a,b]上连续,且f(a)f(b)...
  • qq_26025363
  • qq_26025363
  • 2016年12月20日 14:27
  • 553

牛顿法求方程根

牛顿法 维基百科,自由的百科全书 跳转至: 导航、 搜索 本条目没有列出任何参考或来源。(2013年11月23日) 维基百科所有的内容都应该可供查证...
  • BPSSY
  • BPSSY
  • 2013年12月06日 01:02
  • 1801

用弦截法求函数的一个根(c语言描述)

任务和代码:用弦截法求函数x^3-5x^2+16x-80=0的根/* *Copyright (c) 2016, CSDN学院 *All rights reserved. *文件名:main.c *作者...
  • qq_30340877
  • qq_30340877
  • 2016年10月30日 21:09
  • 1832

方程求近似解方法分析以及比较

对于一些单变量的方程f(x)会时常遇到求解问题,比如一元二次方程等。 数学中对于一元二次方程有明确的求解方法--比如,公式法,十字相乘法等【1】。 但是数学中一些方程的根无法明确表示,比如 sin(x...
  • XUE_HAIyang
  • XUE_HAIyang
  • 2014年07月19日 14:39
  • 1446

【openjudge】一元三次方程求解(分治算法)

一元三次方程求解总时间限制: 1000ms 内存限制: 65536kB 描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d 均为实数),...
  • zhhe0101
  • zhhe0101
  • 2016年10月15日 16:58
  • 1195
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:割线法求方程根
举报原因:
原因补充:

(最多只允许输入30个字)