English · PDF 857
解答 通过分离变量法可求得精确解为
$$x = \frac{1}{1 - \ln(t + 1)}$$
数值解 Xa 和 Xb 及其误差如图 10.11 所示。当然,在此图中 Xa 的值在每一步都有记录,而 Xb 的值只在隔步记录。
同样,图 10.11 的最后一列表明,我们关于使用欧拉法求解微分方程时步长减半所产生的效果的预期得到了证实。误差之比当然并不恰好是二分之一,因为误差中还存在一些我们忽略的高阶项。
| t | X a | X b | x | ( t ) | x | − X a | x | − X b | − x X b − x X a | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0.000 | 00 | 1.000 | 00 | 1.000 | 00 | 1.000 | 00 | |||||
| 0.100 | 00 | 1.100 | 00 | 1.102 | 50 | 1.105 | 35 | 0.005 | 35 | 0.002 | 85 | 0.53 |
| 0.200 | 00 | 1.210 | 00 | 1.216 | 03 | 1.222 | 97 | 0.012 | 97 | 0.006 | 95 | 0.54 |
| 0.300 | 00 | 1.332 | 01 | 1.342 | 94 | 1.355 | 68 | 0.023 | 67 | 0.012 | 75 | 0.54 |
| 0.400 | 00 | 1.468 | 49 | 1.486 | 17 | 1.507 | 10 | 0.038 | 61 | 0.020 | 92 | 0.54 |
| 0.500 | 00 | 1.622 | 52 | 1.649 | 52 | 1.681 | 99 | 0.059 | 47 | 0.032 | 47 | 0.55 |
| 0.600 | 00 | 1.798 | 03 | 1.837 | 91 | 1.886 | 81 | 0.088 | 78 | 0.048 | 90 | 0.55 |
| 0.700 | 00 | 2.000 | 08 | 2.057 | 92 | 2.130 | 51 | 0.130 | 42 | 0.072 | 59 | 0.56 |
| 0.800 | 00 | 2.235 | 40 | 2.318 | 57 | 2.425 | 93 | 0.190 | 53 | 0.107 | 36 | 0.56 |
| 0.900 | 00 | 2.513 | 01 | 2.632 | 51 | 2.792 | 16 | 0.279 | 15 | 0.159 | 65 | 0.57 |
| 1.000 | 00 | 2.845 | 39 | 3.018 | 05 | 3.258 | 89 | 0.413 | 50 | 0.240 | 84 | 0.58 |

图 10.11 例 10.21 的计算结果。
MAPLE 和 MATLAB 都可用于求微分方程的数值解。两者都封装了高度复杂的数值方法,能够生成非常精确的数值解。
在例 10.21 中,Xa 和 Xb 的数值误差相当大(最坏情况下高达约 14%)。虽然用这样大的误差进行计算对于说明计算方法的数学性质十分有用,但在工程计算中,我们通常需要将误差控制得小得多。误差必须小到什么程度,很大程度上取决于工程判断。工程师必须针对给定的工程目的决定结果需要达到怎样的精度。然后,工程师需要运用现有的数学技术和知识来