二分法是一种用于求解方程近似解的数值方法。它的基本思想是通过不断将包含方程根的区间一分为二,逐步缩小包含根的区间范围,直到达到预定的精度要求。以下是二分法求方程近似解的步骤:
确定初始区间
选择一个包含方程根的初始区间 $[a, b]$,即 $f(a) \cdot f(b) < 0$,表示在区间两端点函数值异号。
计算区间中点
计算区间 $[a, b]$ 的中点 $c = \frac{a + b}{2}$。
计算函数在中点处的值
计算 $f(c)$,即函数在区间中点 $c$ 处的值。
判断根所在的子区间
根据 $f(c)$ 的值判断根所在的子区间:
如果 $f(c) = 0$,则 $c$ 就是方程的根。
如果 $f(a) \cdot f(c) < 0$,则根在区间 $[a, c]$ 内。
如果 $f(c) \cdot f(b) < 0$,则根在区间 $[c, b]$ 内。
调整区间
根据判断结果,将区间调整为包含根的子区间,即更新 $a$ 或 $b$ 的值。
重复步骤2至5
不断重复计算中点、判断根所在的子区间和调整区间的步骤,直到满足精度要求 $\epsilon$,即区间长度小于 $\epsilon$。
输出近似解
当区间长度小于 $\epsilon$ 时,区间的中点即为方程的近似解。
示例
假设我们要求解方程 $f(x) = x^2 - 2$ 的根,精度要求为 $0.001$。
确定初始区间
选择初始区间为 $[-3, 3]$,因为 $f(-3) = 9 - 2 = 7 > 0$,$f(3) = 9 - 2 = 7 > 0$,不满足 $f(a) \cdot f(b) < 0$。我们需要重新选择区间。
选择初始区间为 $[1, 3]$,因为 $f(1) = 1 - 2 = -1 < 0$,$f(3) = 9 - 2 = 7 > 0$,满足 $f(a) \cdot f(b) < 0$。
计算区间中点
计算中点 $c = \frac{1 + 3}{2} = 2$,$f(2) = 2^2 - 2 = 2 > 0$。
调整区间
由于 $f(2) > 0$,根在区间 $[1, 2]$ 内。
新区间为 $[1, 2]$。
重复步骤2至5
计算中点 $c = \frac{1 + 2}{2} = 1.5$,$f(1.5) = (1.5)^2 - 2 = -0.25 < 0$。
新区间为 $[1.5, 2]$。
计算中点 $c = \frac{1.5 + 2}{2} = 1.75$,$f(1.75) = (1.75)^2 - 2 = 0.15625 - 2 = -1.84375 < 0$。
新区间为 $[1.75, 2]$。
继续重复
计算中点 $c = \frac{1.75 + 2}{2} = 1.875$,$f(1.875) = (1.875)^2 - 2 = 3.515625 - 2 = 1.5