一、实验目的
(1)掌握欧拉法、改进欧拉法、四阶龙格-库塔法这三种算法的编程与应用。
(2)通过实际编程实现常微分方程的数值求解,进一步熟悉求解常微分方程初值问题的有关方法和理论。
(3)掌握用图形方式来演示三种算法的常微分方程求解,并体会这三种解法的功能、优缺点及适用场合。
二、实验内容
用欧拉法、改进欧拉法、四阶龙格库塔法求解常微分方程初值问题
y'=-y-xy2
y(0)=1 (0<x<2)
与精确解y(x)=1/(2e -x-1)进行比较,并在屏幕上按适当的比例和位置画出坐标轴及解的函数曲线。
三、算法设计
3.1 整体流程
1.定义初始点(x0, y0),步长h,步数N和微分方程f。
2.对于每种方法:
a. 初始化x和y数组。
b. 对于每一步,使用当前的x和y值及微分方程f来计算下一个y值。
c. 保存计算出的y值。
3.计算微分方程的精确解。
4.画出三种方法的解和精确解。
3.2 欧拉法
。。。。。。。
3.3 改进欧拉法
。。。。。。。
3.4 四阶龙格库塔法
四、运行结果及分析
调用上述的三个函数,成功在图形界面窗口上绘制出来这三种算法的常微分方程求解如下图:
分析:。。。。。。。。
五、小结
。。。。。。。