作业:[第二版]习题5.1、5.2、5.6.
Problem 1 (习题5.1).
方程
x^3 - x - 1 = 0 在 [1,2] 内有唯一的根。用二分法求此根,误差不超过 10^{-2}。若要误差不超过 10^{-3} 或 10^{-4},问要作多少次二分?
解.
设 f(x) = x^3 - x - 1。因为 f(1) = -1 < 0,f(2) = 5 > 0,且 f'(x) = 3x^2 - 1 > 0 在 [1,2] 上恒成立,所以 f(x) 在 [1,2] 内严格单调增加,存在唯一实根 x^* \in (1,2)。
下面我们给出二分法求根(误差不超过10^{-2})的结果:
| 2 | [1.000000000000, 1.500000000000] | 1.25000000000000000000 | -0.29687500000000000000 |
|---|
| 3 | [1.250000000000, 1.500000000000] | 1.37500000000000000000 | 0.22460937500000000000 |
| 4 | [1.250000000000, 1.375000000000] | 1.31250000000000000000 | -0.05151367187500000000 |
| 5 | [1.312500000000, 1.375000000000] | 1.34375000000000000000 | 0.08261108398437500000 |
| 6 | [1.312500000000, 1.343750000000] | 1.32812500000000000000 | 0.01457595825195312500 |
| 7 | [1.312500000000, 1.328125000000] | 1.32031250000000000000 | -0.01871061325073242188 |
| 8 | [1.320312500000, 1.328125000000] | 1.32421875000000000000 | -0.00212794542312622070 |
由上表结果可知,我们需进行8次二分即可得到符合误差范围内的结果,最后解出来的根x\approx1.32421875.
- 二分法每次迭代将区间长度减半,我们取区间中点为近似根 x_n,则误差满足
|x_n - x^*| \le \frac{L_n}{2} = \frac{1}{2^{n}}。
要求误差不超过 \varepsilon,即需
\frac{1}{2^{n}} \le \varepsilon \Longrightarrow 2^{n} \ge \frac{1}{\varepsilon}。
n \ge \log2 \left( \frac{1}{\varepsilon} \right) = -\log2 \varepsilon,
f\left(\frac{\pi}{2}\right) = \sin\frac{\pi}{2} - \frac{\pi}{4} = 1 - \frac{\pi}{4} \approx 0.2146 > 0,
且f′(x)=cosx−21,在[2π,π] 上f′(x)≤cos2π−21=−21<0,故f(x) 在该区间上严格单调递减,因此存在唯一实根x∗∈(2π,π)。
二分法迭代时,第k 次二分后区间长度Lk=2kπ−2π=2k+1π,取中点xk 作为近似根,误差满足
要求∣xk−x∗∣<10−4,即
取对数得
故满足误差要求至少需要k≥14 次迭代。
我们的二分从初始区间[2π,π]=[1.5707963268,3.1415926536] 开始,结果如下:
| 2 | [1.5707963268,2.3561944902] | 1.963495408493621 | −0.057868171735524 | 0.785398163397 |
|---|
| 3 | [1.5707963268,1.9634954085] | 1.767145867644259 | 0.097212346581101 | 0.392699081699 |
| 4 | [1.7671458676,1.9634954085] | 1.865320638068940 | 0.024280016697739 | 0.196349540849 |
| 5 | [1.8653206381,1.9634954085] | 1.914408023281280 | −0.015659946457619 | 0.098174770425 |
| 6 | [1.8653206381,1.9144080233] | 1.889864330675110 | 0.004596015255482 | 0.049087385212 |
| 7 | [1.8898643307,1.9144080233] | 1.902136176978195 | −0.005460763108576 | 0.024543692606 |
| 8 | [1.8898643307,1.9021361770] | 1.896000253826652 | −0.000414535895585 | 0.012271846303 |
| 9 | [1.8898643307,1.8960002538] | 1.892932292250881 | 0.002095203790290 | 0.006135923152 |
| 10 | [1.8929322923,1.8960002538] | 1.894466273038767 | 0.000841449402893 | 0.003067961576 |
| 11 | [1.8944662730,1.8960002538] | 1.895233263432710 | 0.000213735545746 | 0.001533980788 |
| 12 | [1.8952332634,1.8960002538] | 1.895616758629681 | −0.000100330485888 | 0.000766990394 |
| 13 | [1.8952332634,1.8956167586] | 1.895425011031195 | 0.000056719953312 | 0.000383495197 |
| 14 | [1.8954250110,1.8956167586] | 1.895520884830438 | −0.000021800910583 | 0.000191747598 |
| 15 | [1.8954250110,1.8955208848] | 1.895472947930817 | 0.000017460610308 | 0.000095873799 |
我们由表格结果可知,实际上在进行第12次二分时,我们就有∣f(x12)∣≤10−4,故只要执行12次二分就能得到符合误差的结果:x≈1.895616758629681.
另外,由表格结果我们也能发现:在进行第15(>14)次二分时,区间长度满足≤10−4,和我们上面的估计相符合.
∎
Problem 3 (习题5.6).
为求方程x3−x2−1=0 在x0=1.5 附近的一个根,现将方程改为下列的等价形式,且建立相应的迭代公式:
- x=1+x21
,迭代公式为xk+1=1+xk21;
- x3=1+x2
,迭代公式为xk+1=(1+xk2)1/3;
- x2=x−11
,迭代公式为xk+1=xk−11。
试分析每一种迭代公式的收敛性,任选一种收敛的迭代公式计算1.5 附近的根,要求∣xk+1−xk∣<10−5。
解.
方程f(x)=x3−x2−1=0 在x0=1.5 附近有唯一实根x∗。取初始区间[1.4,1.6] 考察:
且f′(x)=3x2−2x=x(3x−2)>0 在[1.4,1.6] 上成立,故根x∗∈(1.4,1.6)。
要验证迭代公式是否收敛我们只需验证:在根x∗ 的某个邻域内∣φ′(x)∣<1。
下面分析三种迭代公式在区间[1.4,1.6] 上的收敛性:
- xk+1=1+xk21
设φ1(x)=1+x21,则φ1′(x)=−x32。
在区间[1.4,1.6] 上,∣φ1′(x)∣=x32 单调递减,因此
故在[1.4,1.6] 上,∣φ1′(x)∣≤0.728<1,满足局部收敛条件。
- xk+1=(1+xk2)1/3
设φ2(x)=(1+x2)1/3,则
故在[1.4,1.6] 上,∣φ2′(x)∣≤0.514<1,满足局部收敛条件。
- xk+1=xk−11
设φ3(x)=x−11,则φ3′(x)=−21(x−1)−3/2,所以
在[1.4,1.6] 上,x−1∈[0.4,0.6],(x−1)−3/2 单调递减,因此
在[1.4,1.6] 上∣φ3′(x)∣≥1.078>1,不满足收敛条件,因此该迭代公式在x∗ 附近不收敛。
下面我们选择收敛的迭代公式 (2)xk+1=(1+xk2)1/3 进行计算,取x0=1.5.
迭代的结果如下表所示:
| 1 | 1.481248034203685 | 0.018751965796315 |
|---|
| 2 | 1.472705729639394 | 0.008542304564291 |
| 3 | 1.468817313664499 | 0.003888415974895 |
| 4 | 1.467047973200597 | 0.001769340463902 |
| 5 | 1.466243010114747 | 0.000804963085850 |
| 6 | 1.465876820168813 | 0.000366189945934 |
| 7 | 1.465710240775865 | 0.000166579392948 |
| 8 | 1.465634465238510 | 0.000075775537355 |
| 9 | 1.465599995853316 | 0.000034469385194 |
| 10 | 1.465584316195651 | 0.000015679657665 |
| 11 | 1.465577183742211 | 0.000007132453440 |
其中:
因此,我们取近似根x∗≈1.465577183742211,满足精度要求。
∎
PDF
Download the original write-up here.