高等数学:求方程的近似解:二分法、切线法、割线法

一、二分法(Bisection Method)

1. 基本原理

适用条件:函数 \( f(x) \) 在区间 \([a, b]\) 上连续,且 \( f(a) \cdot f(b) < 0 \)(即区间两端点函数值异号,说明区间内至少有一个根)。

核心思想:通过不断将区间二等分,逐步缩小区间范围,直到区间长度小于预设精度,此时区间中点即为近似解。

2. 算法步骤

1. 确定初始区间 \([a, b]\),满足 \( f(a) \cdot f(b) < 0 \);

2. 计算中点 \( c = \frac{a + b}{2} \);

3. 若 \( f(c) = 0 \),则 \( c \) 为根,结束;

4. 若 \( f(a) \cdot f(c) < 0 \),则根在 \([a, c]\),令 \( b = c \);

5. 否则根在 \([c, b]\),令 \( a = c \);

6. 重复步骤2-5,直到 \( |b - a| < \varepsilon \)(\(\varepsilon\) 为精度要求)。

3. 优缺点分析

优点:算法简单、稳定,理论上一定收敛。

缺点:收敛速度较慢(线性收敛),无法处理重根或导数为零的情况。

4. 实例:求解 \( f(x) = x^3 - x - 1 = 0 \) 在 \([1, 2]\) 内的根

初始区间:\( a=1, b=2 \),\( f(1)=-1 \), \( f(2)=5 \),满足 \( f(1) \cdot f(2) < 0 \)。

迭代过程:

第1次:\( c=1.5 \),\( f(1.5)=0.875 > 0 \),新区间 \([1, 1.5]\);

第2次:\( c=1.25 \),\( f(1.25)=-0.296875 < 0 \),新区间 \([1.25, 1.5]\);

第3次:\( c=1.375 \),\( f(1.375)=0.224609 > 0 \),新区间 \([1.25, 1.375]\);

继续迭代至区间长度小于 \( 10^{-3} \),最终近似解为 \( x \approx 1.3247 \)。

二、切线法(牛顿迭代法,Newton-Raphson Method)

1. 基本原理

适用条件:函数 \( f(x) \) 在根附近具有一阶连续导数,且 \( f'(x) \neq 0 \)。

核心思想:以当前近似解为切点作切线,切线与 \( x \) 轴的交点作为新的近似解,迭代逼近真实根。

2. 迭代公式

设 \( x_n \) 为第 \( n \) 次近似解,则第 \( n+1 \) 次解为:  

\(x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}\)

3. 优缺点分析

优点:收敛速度快(二阶收敛,误差平方递减),适用于单根和重根(需调整公式)。

缺点:对初始值 \( x_0 \) 敏感,若选取不当可能发散或收敛到其他根。

4. 实例:求解 \( f(x) = x^3 - x - 1 = 0 \),取 \( x_0 = 1.5 \)

导数:\( f'(x) = 3x^2 - 1 \)。

迭代过程:

\( x_0 = 1.5 \),\( f(1.5)=0.875 \),\( f'(1.5)=5.75 \),  

\( x_1 = 1.5 - \frac{0.875}{5.75} \approx 1.3478 \);

\( x_1 \approx 1.3478 \),\( f(x_1) \approx 0.1003 \),\( f'(x_1) \approx 4.4499 \),  

\( x_2 = 1.3478 - \frac{0.1003}{4.4499} \approx 1.3252 \);

\( x_2 \approx 1.3252 \),\( f(x_2) \approx 0.0020 \),\( f'(x_2) \approx 4.2684 \),  

\( x_3 = 1.3252 - \frac{0.0020}{4.2684} \approx 1.3247 \)(已收敛)。

三、割线法(Secant Method)

1. 基本原理

适用条件:函数 \( f(x) \) 连续,无需计算导数(用差商近似导数)。

核心思想:用两点处的割线代替切线,割线与 \( x \) 轴的交点作为新的近似解,避免求导运算。

2. 迭代公式

设前两次近似解为 \( x_{n-1} \) 和 \( x_n \),则:  

\(x_{n+1} = x_n - f(x_n) \cdot \frac{x_n - x_{n-1}}{f(x_n) - f(x_{n-1})}\)

3. 优缺点分析

优点:无需计算导数,计算量小;收敛速度快于二分法(超线性收敛,阶数约1.618)。

缺点:可能发散,对初始值敏感,需保证两点函数值接近根。

4. 实例:求解 \( f(x) = x^3 - x - 1 = 0 \),取 \( x_0=1, x_1=2 \)

迭代过程:

\( x_0=1, f(1)=-1 \); \( x_1=2, f(2)=5 \),  

\( x_2 = 2 - 5 \cdot \frac{2-1}{5-(-1)} \approx 2 - 0.8333 = 1.1667 \);

\( x_1=2, x_2=1.1667 \), \( f(1.1667) \approx -0.5787 \),  

\( x_3 = 1.1667 - (-0.5787) \cdot \frac{1.1667-2}{-0.5787-5} \approx 1.3634 \);

继续迭代至 \( x_5 \approx 1.3248 \),接近真实根。

四、三种方法对比

方法收敛速度初始值要求计算复杂度适用场景
二分法线性收敛只需端点异号低(仅函数值)稳健但需慢收敛的场景
切线法(牛顿)二阶收敛需接近根且导数非零中(需导数)高精度、收敛快的单根问题
割线法超线性收敛需两点接近根低(无需导数)避免求导且收敛速度要求适中的场景

五、注意事项

1. 精度控制:迭代终止条件通常为 \( |x_{n+1} - x_n| < \varepsilon \) 或 \( |f(x_n)| < \varepsilon \)。

2. 发散处理:若迭代次数过多或解偏离预期,需重新选择初始值或方法。

3. 重根处理:牛顿法对重根 \( r \)(即 \( f(r)=f'(r)=0 \))收敛慢,可改用 \( x_{n+1} = x_n - k \cdot \frac{f(x_n)}{f'(x_n)} \)(\( k \) 为重数)。

通过合理选择方法和初始值,这些数值方法能高效求解复杂方程的近似解,在工程、物理和数值计算中具有广泛应用。

数学基础 : 小学数学、初中数学、高中数学、高等数学