- 课题名称
通过编写程序使用数值方法解常微分方程初值问题。 - 解决的问题
利用Euler方法和改进的Euler方法求解初值问题:
分别取步长0.1, 0.2, 0.4. 此初值问题的精确解为:
- 采用的数值方法
- Euler方法
对于一阶常微分方程初值问题:
Euler方法是解常微分方程初值问题最简单最古老的一种数值方法,其基本思路就是把上式中的导数项用差商逼近,从而将一个微分方程转化为一个代数方程,以便求解。
设在中取等距离结点h,在结点上,由上式有:

又由差商定义可得:
所以有:

- Euler方法











| x |
精确解 |
Euler法解 |
改进Euler法解 |
Euler法误差 |
改进Euler法误差 |
| 0 |
3 |
3 |
3 |
0 |
0 |
| 0.1 |
2.991697 |
3 |
2.991667 |
0.008303 |
0.00003 |
| 0.2 |
2.967145 |
2.983333 |
2.967087 |
0.016189 |
0.000057 |
| 0.3 |
2.927397 |
2.950482 |
2.927322 |
0.023085 |
0.000076 |
| 0.4 |
2.874147 |
2.902639 |
2.874072 |
0.028493 |
0.000075 |
| 0.5 |
2.809627 |
2.841656 |
2.809583 |
0.032029 |
0.000044 |
| 0.6 |
2.736491 |
2.769955 |
2.736518 |
0.033464 |
0.000027 |
| 0.7 |
2.657655 |
2.690401 |
2.657804 |
0.032746 |
0.000148 |
| 0.8 |
2.576133 |
2.606147 |
2.576456 |
0.030014 |
0.000323 |
| 0.9 |
2.494853 |
2.520442 |
2.495402 |
0.025589 |
0.000549 |
| 1 |
2.416484 |
2.436434 |
2.417301 |
0.01995 |
0.000816 |
| 1.1 |
2.343285 |
2.356965 |
2.34439 |
0.01368 |
0.001105 |
| 1.2 |
2.27698 |
2.28438 |
2.278371 |
0.007399 |
0.00139 |
| 1.3 |
2.218693 |
2.220377 |
2.220337 |
0.001684 |
0.001645 |
| 1.4 |
2.168938 |
2.165922 |
2.170779 |
0.003016 |
0.001841 |
| 1.5 |
2.127674 |
2.121244 |
2.129634 |
0.00643 |
0.001961 |
| 1.6 |
2.094403 |
2.08591 |
2.096396 |
0.008493 |
0.001993 |
| 1.7 |
2.068304 |
2.058985 |
2.070244 |
0.009319 |
0.00194 |
| 1.8 |
2.04837 |
2.039217 |
2.050183 |
0.009153 |
0.001813 |
| 1.9 |
2.033534 |
2.025235 |
2.035165 |
0.008299 |
0.001632 |
| 2 |
2.022765 |
2.015705 |
2.024182 |
0.00706 |
0.001417 |
| x |
精确解 |
Euler法解 |
改进Euler法解 |
Euler法误差 |
改进Euler法误差 |
| 0 |
3 |
3 |
3 |
0 |
0 |
| 0.2 |
2.96715 |
3 |
2.966667 |
0.032855 |
0.000478 |
| 0.4 |
2.87415 |
2.933333 |
2.873358 |
0.059187 |
0.000789 |
| 0.6 |
2.73649 |
2.807758 |
2.735935 |
0.071267 |
0.000556 |
| 0.8 |
2.57613 |
2.641782 |
2.576739 |
0.065648 |
0.000606 |
| 1 |
2.41648 |
2.461357 |
2.419284 |
0.044873 |
0.0028 |
| 1.2 |
2.27698 |