7.5弦截法与抛物线法
弦截法与抛物线法知识点深度讲解与推导
我们之前讲解的牛顿法,核心优势是二阶收敛、迭代速度快,但存在一个核心局限:每步迭代都需要计算函数的导数 \(f'(x_k)\),当函数 \(f(x)\) 形式复杂、导数难以计算时,牛顿法的应用会受到极大限制。
本节课讲解的弦截法与抛物线法,核心思想是利用已计算的函数值构造插值多项式,用插值多项式的根逼近原方程的根,完全避免了导数的计算,是工程中求解非线性方程的核心实用方法。
一、弦截法(割线法)
1.1 核心思想与迭代公式推导
弦截法的核心是以直代曲:利用方程根的两个相邻近似值 \(x_k, x_{k-1}\) 及其对应的函数值 \(f(x_k), f(x_{k-1})\),构造一次插值多项式(直线),用该直线与x轴的交点,作为原方程根的新近似值 \(x_{k+1}\)。
公式严格推导
已知两个点 \((x_{k-1}, f(x_{k-1}))\)、\((x_k, f(x_k))\),构造一次牛顿插值多项式(直线的点斜式):
该式就是过两点的直线方程,我们令 \(p_1(x)=0\),求解得到的根即为 \(x_{k+1}\):
- 移项得:\(-f(x_k) = \frac{f(x_k) - f(x_{k-1})}{x_k - x_{k-1}} \cdot (x_{k+1} - x_k)\)
- 两边同乘 \((x_k - x_{k-1})\):\(-f(x_k)(x_k - x_{k-1}) = \left[f(x_k) - f(x_{k-1})\right] \cdot (x_{k+1} - x_k)\)
- 整理求解 \(x_{k+1}\):
与牛顿法的关联
牛顿法的迭代公式为:
弦截法本质是用一阶差商 \(\frac{f(x_k) - f(x_{k-1})}{x_k - x_{k-1}}\) 代替了牛顿法中的导数 \(f'(x_k)\),是牛顿法的导数离散化形式,因此也叫割线法。
1.2 几何意义
方程 \(f(x)=0\) 的根 \(x^*\) 是曲线 \(y=f(x)\) 与x轴的交点。
弦截法中,\(x_{k+1}\) 是过曲线上两点 \(P_k(x_k, f(x_k))\)、\(P_{k-1}(x_{k-1}, f(x_{k-1}))\) 的弦(割线)与x轴交点的横坐标,因此得名弦截法。
| 方法 | 几何本质 | 所需信息 |
|---|---|---|
| 牛顿法 | 曲线在单点的切线与x轴的交点 | 1个点的函数值+导数值 |
| 弦截法 | 曲线过两点的割线与x轴的交点 | 2个点的函数值,无需导数 |
1.3 收敛性分析
核心收敛定理
定理7.6 假设 \(f(x)\) 在根 \(x^*\) 的邻域 \(\Delta: |x-x^*| \leq \delta\) 内具有二阶连续导数,且对任意 \(x \in \Delta\) 有 \(f'(x) \neq 0\),初值 \(x_0, x_1 \in \Delta\),那么当邻域 \(\Delta\) 充分小时,弦截法将按阶
收敛到根 \(x^*\)。
收敛特性说明
- 弦截法是超线性收敛,收敛阶1.618(黄金分割比),快于不动点迭代的线性收敛,慢于牛顿法的二阶收敛;
- 收敛阶的来源:迭代误差满足渐近关系 \(e_{k+1} \approx C \cdot e_k \cdot e_{k-1}\),其收敛阶是方程 \(\lambda^2 = \lambda + 1\) 的正根,即 \(\frac{1+\sqrt{5}}{2}\);
- 弦截法是两步迭代法,计算 \(x_{k+1}\) 需要用到前两步的结果 \(x_k, x_{k-1}\),因此需要给定两个初始值 \(x_0, x_1\)。
1.4 例题计算(例7.9)
用弦截法求解方程 \(f(x)=xe^x -1=0\),取初始值 \(x_0=0.5, x_1=0.6\)。
分步计算过程
-
计算初始点函数值:
\(f(x_0)=f(0.5)=0.5e^{0.5}-1 \approx -0.175639\)
\(f(x_1)=f(0.6)=0.6e^{0.6}-1 \approx 0.093271\) -
计算 \(x_2\):
\[x_2 = x_1 - \frac{f(x_1)(x_1-x_0)}{f(x_1)-f(x_0)} = 0.6 - \frac{0.093271 \times 0.1}{0.093271 - (-0.175639)} \approx 0.56532 \] -
计算 \(x_3\):
先算 \(f(x_2)=f(0.56532) \approx -0.005031\)\[x_3 = x_2 - \frac{f(x_2)(x_2-x_1)}{f(x_2)-f(x_1)} = 0.56532 - \frac{(-0.005031) \times (-0.03468)}{-0.005031 - 0.093271} \approx 0.56709 \] -
计算 \(x_4\):
先算 \(f(x_3) \approx -0.00007\)
迭代后得到 \(x_4 \approx 0.56714\),与真实根一致,迭代4步收敛。
计算结果汇总
| 迭代步数 \(k\) | 0 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|---|
| \(x_k\) | 0.5 | 0.6 | 0.56532 | 0.56709 | 0.56714 |
二、抛物线法(密勒(Müller)法)
2.1 核心思想与迭代公式推导
抛物线法是弦截法的高阶推广,核心思想是以曲代曲:利用方程根的三个相邻近似值 \(x_k, x_{k-1}, x_{k-2}\) 及其函数值,构造二次插值多项式(抛物线),用抛物线与x轴的一个交点,作为原方程根的新近似值 \(x_{k+1}\)。
公式严格推导
已知三个点 \((x_k, f(x_k))\)、\((x_{k-1}, f(x_{k-1}))\)、\((x_{k-2}, f(x_{k-2}))\),构造二次牛顿插值多项式:
其中:
- 一阶差商:\(f[x_i, x_j] = \frac{f(x_i)-f(x_j)}{x_i-x_j}\)
- 二阶差商:\(f[x_k, x_{k-1}, x_{k-2}] = \frac{f[x_k, x_{k-1}] - f[x_{k-1}, x_{k-2}]}{x_k - x_{k-2}}\)
为简化求根,令:
令 \(p_2(x)=0\),得到关于 \((x-x_k)\) 的一元二次方程,用求根公式求解后,整理得到迭代公式:
根的选取规则
二次方程有两个根,为保证迭代收敛,我们需要选取更接近 \(x_k\) 的根,具体规则为:
根号前的符号与 \(\omega\) 的符号保持一致,使分母的模最大,从而让迭代步长的绝对值最小,保证 \(x_{k+1}\) 最接近当前近似值 \(x_k\),避免迭代发散。
2.2 几何意义与核心特性
- 几何意义:用通过曲线上三个点的抛物线 \(y=p_2(x)\) 与x轴的交点,逼近原曲线 \(y=f(x)\) 与x轴的交点(真实根),相比弦截法的直线近似,抛物线对非线性曲线的拟合精度更高。
- 核心优势:
- 无需计算导数,仅需函数值;
- 收敛阶更高,超线性收敛,收敛速度更接近牛顿法;
- 即使三个初始点均为实数,也可以求解复数根,是工程中求解多项式复根的核心方法。
2.3 收敛性分析
在根 \(x^*\) 的邻域内,若 \(f(x)\) 具有三阶连续导数,且 \(f'(x^*) \neq 0\),则抛物线法的迭代误差满足渐近关系:
其收敛阶为 \(\boldsymbol{p \approx 1.840}\),是方程 \(\lambda^3 = \lambda^2 + \lambda + 1\) 的正根,快于弦截法的1.618阶,更接近牛顿法的二阶收敛。
2.4 例题计算(例7.10)
用抛物线法求解方程 \(f(x)=xe^x -1=0\),取初始值 \(x_0=0.5, x_1=0.6, x_2=0.56532\)。
分步计算过程
-
计算函数值:
\(f(x_0) \approx -0.175639\),\(f(x_1) \approx 0.093271\),\(f(x_2) \approx -0.005031\) -
计算差商:
一阶差商:\(f[x_1, x_0] = \frac{0.093271 - (-0.175639)}{0.6-0.5} = 2.68911\)
一阶差商:\(f[x_2, x_1] = \frac{-0.005031 - 0.093271}{0.56532-0.6} = 2.83454\)
二阶差商:\(f[x_2, x_1, x_0] = \frac{2.83454 - 2.68911}{0.56532-0.5} = 2.22651\) -
计算 \(\omega\):
\[\omega = f[x_2, x_1] + f[x_2, x_1, x_0](x_2 - x_1) = 2.83454 + 2.22651 \times (-0.03468) \approx 2.75733 \] -
计算 \(x_3\):
\(\omega\) 为正,根号前取+号,计算分母:\[\text{分母} = 2.75733 + \sqrt{2.75733^2 - 4 \times (-0.005031) \times 2.22651} \approx 5.52277 \]代入迭代公式:
\[x_3 = 0.56532 - \frac{2 \times (-0.005031)}{5.52277} \approx 0.56714 \]仅迭代1步,就得到了与弦截法4步、牛顿法3步一致的收敛结果,收敛速度显著更快。
三、非线性方程求根方法核心特性对比表
| 方法名称 | 迭代公式核心形式 | 收敛阶 | 所需初始值 | 是否需要导数 | 核心优点 | 核心缺点 | 适用场景 |
|---|---|---|---|---|---|---|---|
| 标准牛顿法 | \(x_{k+1}=x_k-\frac{f(x_k)}{f'(x_k)}\) | 二阶(2.0) | 1个 | 是 | 收敛速度最快,迭代步数少,公式简单 | 需计算导数,仅局部收敛,初值敏感 | 导数易计算,初值能取到根附近的单根求解 |
| 弦截法(割线法) | \(x_{k+1}=x_k-\frac{f(x_k)(x_k-x_{k-1})}{f(x_k)-f(x_{k-1})}\) | 超线性(≈1.618) | 2个 | 否 | 无需计算导数,实现简单,收敛速度快于线性迭代 | 收敛速度慢于牛顿法,需要两个初始值 | 导数难以计算,对收敛速度有一定要求的工程场景 |
| 抛物线法(密勒法) | \(x_{k+1}=x_k-\frac{2f(x_k)}{\omega \pm \sqrt{\omega^2-4f(x_k)f[x_k,x_{k-1},x_{k-2}]}}\) | 超线性(≈1.840) | 3个 | 否 | 无需计算导数,收敛速度接近牛顿法,可求解复根 | 公式复杂,需要三个初始值,计算量略大 | 导数难以计算,需要高精度求解,尤其是多项式的实根与复根求解 |
posted on 2026-02-28 08:14 Indian_Mysore 阅读(0) 评论(0) 收藏 举报
浙公网安备 33010602011771号