用区间二分法求方程 x^3 - x - 1 = 0 在区间 [1, 2] 的近似根,误差小于 10^-3 至少要二分( )次?A. 5B. 100C. 9D. 10
用区间二分法求方程 $x^3 - x - 1 = 0$ 在区间 $[1, 2]$ 的近似根,误差小于 $10^{-3}$ 至少要二分( )次? A. 5 B. 100 C. 9 D. 10
题目解答
答案
我们来一步一步地解决这个问题:
题目要求:
用区间二分法(也称二分法)求方程
$x^3 - x - 1 = 0$
在区间 $[1, 2]$ 内的近似根,要求误差小于 $10^{-3}$,问至少要二分多少次?
选项是:
- A. 5
- B. 100
- C. 9
- D. 10
第一步:理解二分法的误差公式
在区间二分法中,初始区间为 $[a, b]$,每次二分后区间长度缩小一半。经过 $n$ 次二分后,根所在的区间长度为:
$\frac{b - a}{2^n}$
此时,我们取区间的中点作为近似根,其最大误差(即与真实根的距离)不会超过区间长度的一半,但通常我们保守估计:误差不超过当前区间长度。
更精确地说,近似根与真实根的误差不超过:
$\frac{b - a}{2^{n+1}}$
但更常用的误差上界估计是:
$\text{误差} \leq \frac{b - a}{2^{n+1}} \quad \text{或} \quad \leq \frac{b - a}{2^n}$
不过在实际应用中,我们通常使用:
> 经过 $n$ 次二分后,误差不超过 $\frac{b - a}{2^{n+1}}$,但为了保险,常使用 $\frac{b - a}{2^n}$ 作为区间长度,要求这个长度小于允许误差。
但标准的误差控制公式是:
$\frac{b - a}{2^{n+1}} < \text{允许误差}$
不过更常见的是:近似根的误差不超过区间长度的一半,而区间长度为 $\frac{b-a}{2^n}$,所以误差 $\leq \frac{b-a}{2^{n+1}}$。
但为了确保近似值与真实根的误差小于 $10^{-3}$,我们通常要求:
$\frac{b - a}{2^{n+1}} < 10^{-3}$
或者更严格地,使用:
$\frac{b - a}{2^n} < 2 \times 10^{-3}$
但更标准的做法是:经过 $n$ 次二分后,区间长度为 $\frac{b-a}{2^n}$,此时中点与真实根的误差不超过区间长度的一半,即 $\frac{b-a}{2^{n+1}}$。
但我们也可以这样理解:只要区间长度小于 $2 \times 10^{-3}$,那么中点与根的距离就小于 $10^{-3}$。
但更常见、更直接的公式是:
> 要使误差小于 $\varepsilon$,需要满足:
$\frac{b - a}{2^{n+1}} < \varepsilon$
或者更粗略但常用的是:
$\frac{b - a}{2^n} < 2\varepsilon$
不过,最常用的二分法迭代次数估计公式是:
$n \geq \frac{\log(b - a) - \log(2\varepsilon)}{\log 2} \quad \text{或} \quad n \geq \log_2\left(\frac{b - a}{\varepsilon}\right)$
但让我们来澄清一下。
第二步:使用标准误差公式
在区间二分法中,初始区间长度为:
$b - a = 2 - 1 = 1$
每次二分后,区间长度变为原来的一半。
经过 $n$ 次二分后,区间长度为:
$\frac{1}{2^n}$
此时,我们取中点作为近似根,真实根在当前区间内,所以误差(即近似根与真实根的距离)不超过区间长度的一半,即:
$\text{误差} \leq \frac{1}{2^{n+1}}$
但我们通常更保守地说:误差不超过当前区间长度,即 $\frac{1}{2^n}$,因为中点到端点的距离是 $\frac{1}{2^{n+1}}$,但真实根可能在区间内任意位置。
但为了确保误差小于 $10^{-3}$,我们要求:
$\frac{1}{2^n} < 2 \times 10^{-3}
\quad \text{或更直接地}
\quad \frac{1}{2^{n+1}} < 10^{-3}$
我们采用更标准的公式:
> 二分法中,经过 $n$ 次迭代后,误差上界为:
$\frac{b - a}{2^{n+1}} = \frac{1}{2^{n+1}}$
要求:
$\frac{1}{2^{n+1}} < 10^{-3}$
解这个不等式:
$\frac{1}{2^{n+1}} < \frac{1}{1000} \Rightarrow 2^{n+1} > 1000$
我们来计算 $2^k > 1000$ 的最小整数 $k$:
- $2^9 = 512$
- $2^{10} = 1024$
所以 $k = 10$ 时,$2^{10} = 1024 > 1000$
而 $k = n+1$,所以:
$n + 1 = 10 \Rightarrow n = 9$
第三步:验证
当 $n = 9$ 时:
$\frac{1}{2^{n+1}} = \frac{1}{2^{10}} = \frac{1}{1024} \approx 0.000976 < 0.001 = 10^{-3}$
满足误差要求。
当 $n = 8$ 时:
$\frac{1}{2^{9}} = \frac{1}{512} \approx 0.001953 > 0.001$
不满足。
所以至少需要 $n = 9$ 次二分。
第四步:检查函数在区间内是否有根
虽然题目已经说明在 $[1,2]$ 内求根,但我们验证一下是否满足二分法前提。
设 $f(x) = x^3 - x - 1$
- $f(1) = 1 - 1 - 1 = -1 < 0$
- $f(2) = 8 - 2 - 1 = 5 > 0$
且 $f(x)$ 连续,由介值定理,$(1,2)$ 内有根。
并且 $f'(x) = 3x^2 - 1$,在 $[1,2]$ 上 $f'(x) > 0$,函数单调增,故只有一个根,适合用二分法。
结论:
至少需要 9 次二分,才能使误差小于 $10^{-3}$。
答案:
$\boxed{C. \ 9}$
解析
本题考查区间二分法求方程近似根时迭代次数的计算。解题思路是先明确二分法中误差与迭代次数的关系,再根据给定的误差要求列出不等式,最后求解不等式得到至少需要的二分次数。
- 确定初始区间长度:
已知方程在区间$[1, 2]$内求近似根,所以初始区间长度$b - a = 2 - 1 = 1$。 - 建立误差与迭代次数的关系:
在区间二分法中,经过$n$次二分后,区间长度变为$\frac{b - a}{2^n}$,此时取区间中点作为近似根,其误差不超过区间长度的一半,即误差$\leq\frac{b - a}{2^{n + 1}}$。 - 根据误差要求列出不等式:
题目要求误差小于$10^{-3}$,则有$\frac{b - a}{2^{n + 1}}< 10^{-3}$,将$b - a = 1$代入不等式,得到$\frac{1}{2^{n + 1}}< 10^{-3}$。 - 求解不等式:
对不等式$\frac{1}{2^{n + 1}}< 10^{-3}$进行变形,可得$2^{n + 1}> 1000$。
因为$2^9 = 512$,$2^{10} = 1024$,所以满足$2^{n + 1}> 1000$的最小整数$n + 1 = 10$,解得$n = 9$。 - 验证函数在区间内有根:
设$f(x) = x^3 - x - 1$,$f(1) = 1^3 - 1 - 1 = -1 < 0$,$f(2) = 2^3 - 2 - 1 = 5 > 0$,且$f(x)$连续,由介值定理可知$(1, 2)$内有根。
又因为$f^\prime(x) = 3x^2 - 1$,在$[1, 2]$上$f^\prime(x) > 0$,函数单调递增,所以只有一个根,适合用二分法。