割线法:数值分析中的逐次逼近求根算法

割线法 (Secant Method) 是一种递归算法,我们通过逐次逼近来寻找多项式的根。

  • 在这种方法中,我们利用函数 f(x) 的割线(一条与曲线相交于两个不同点的直线)来逼近根附近的邻域。
  • 它与 试位法 类似,但在每次逼近后,我们不需要反复检查 f(x1)f(x2) < 0 这一条件。
  • 我们不需要像在 牛顿-拉夫逊法 中那样对给定的函数 f(x) 进行求导。

!image

割线是一条与曲线相交于两个不同点的直线。在微积分的语境下,割线可以用来近似曲线在这两点之间的斜率。割线的斜率计算公式为两点之间 y 值的变化量除以 x 值的变化量。

对于一个函数 f(x),穿过点 (x0, f(x0)) 和 (x1, f(x1)) 的割线方程为:

割线的斜率 = \frac{f(x1) – f(x0)}{x1 – x0}

割线法公式推导

现在,让我们来推导割线法的公式。通过两点的割线方程为:

Y – Y{1} = m(X – X{1})

这里,m 代表斜率。

因此,我们将其应用于 (x1, f(x1)) (x0, f(x0)) 两点。

割线的斜率 = \frac{f(x1) – f(x0)}{x1 – x0}

Y – f(x1) = [f(x0)-f(x1)/(x0-x1)] (x-x1) 方程 (1)

因为我们正在寻找函数 f(x) 的根,所以在方程 (1) 中令 Y= f(x) = 0,割线与 x 轴相交的点为:

x = x1 – [(x0 – x1)/ (f(x0) – f(x1)]f(x1)。

我们利用上述结果对函数 f(x) 的根进行逐次逼近。假设第一次近似值为 x=x2:

x2 = x1 – [(x0 – x1)/ (f(x0)-f(x1))]f(x1)

同理,第二次近似值将是 x =x3:

x3 = x2 – [(x1-x2)/ (f(x1)-f(x2))]f(x2)

依此类推,直到第 k 次迭代:

> x{k+1}= x{k} – [\frac{(x{k-1} – x{k})} { (f(x{k-1}) – f(xk))}]f(x_k)

注意: 要开始求解函数 f(x),我们需要两个初始猜测值,使得 f(x0) < 0f(x1) > 0。 通常题目会要求我们找到满足 f(x) = 0 的多项式根。大多数情况下,问题只要求我们求出 f(x) 的根,精确到小数点后两位、三位或四位。
割线法的收敛性

如果起始点 x0 和 x1 足够接近实际的根,并且函数表现良好,割线法将找到函数 f 的根。如果函数是平滑的且具有单根(即根只出现一次),该方法会以与黄金比例相关的收敛速度收敛于根:

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

这意味着该方法改进得很快,但不像某些其他方法那样快。

然而,如果起始点离根较远,或者函数不够平滑,则无法保证该方法有效。该方法是否收敛取决于起始点之间区间内函数的“波动”程度。例如,如果函数的导数在区间内的某点为零,割线法可能会收敛失败。

与其他求根方法的比较

与二分法不同,割线法不能保证根始终留在有界的区间内,这可能导致它不总是收敛。试位法(false position method)与割线法类似,但总是收敛,尽管速度较慢,呈线性收敛率。通过改进试位法,例如使用 ITP 方法或 Illinois 方法,我们可以实现超线性收敛。

割线法近似了牛顿法中使用的导数。虽然牛顿法的收敛速度更快(2阶),但它在每一步都需要函数及其导数的值。割线法只需要函数值,这使得它在实践中更快,特别是当计算导数的成本很高时。在高维情况下,牛顿法的开销可能比割线法更大。

割线法的优点:

  • 割线法的收敛速度比二分法和 试位法.) 更快。
  • 它利用两个最新的根近似值来寻找新的近似值。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/49889.html
点赞
0.00 平均评分 (0% 分数) - 0