实验五 常微分方程初值问题数值解法 下载本文

佛山科学技术学院

实 验 报 告

课程名称 数值分析 实验项目 常微分方程问题初值问题数值解法 专业班级 姓 名 学 号 指导教师 陈剑 成 绩 日 期

一. 实验目的

1、理解如何在计算机上实现用Euler法、改进Euler法、Runge-Kutta算法求一阶常微分方程初值问题

?y?(x)?f(x,y),x?[a,b] ??y(a)?y1 的数值解。

2、利用图形直观分析近似解和准确解之间的误差。

二、实验要求

(1) 按照题目要求完成实验内容; (2) 写出相应的Matlab 程序;

(3) 给出实验结果(可以用表格展示实验结果); (4) 分析和讨论实验结果并提出可能的优化实验。 (5) 写出实验报告。 三、实验步骤

1、用Matlab编写解常微分方程初值问题的Euler法、改进Euler法和经典的四阶Runge-Kutta法。 2、给定初值问题

1y??y'?2?,1?x?2, (1)?xx??y(1)?1;?y'??50y?50x2?2x,0?x?1?(2)?1 y(0)??3?要求:(a)用Euler法和改进的Euler法(步长均取h=0.05)及经典的四阶Runge-Kutta法(h=0.1)求(1)的数值解,并打印x?1?0.1i(i?0,1,2,....10)的值。

(b) 用经典的四阶Runge-Kutta方法解(2),步长分别取h=0.1, 0.05,0.025,计算并打印

1x?0.1i(i?0,1,2,....10)个点的值,与准确解y(x)?e?50x?x2比较,并列表写出在

3x=0.2,0.5,0.8处,对于不同步长h下的误差,讨论同一节点处,误差随步长的变化规律。 (c)用Matlab绘图函数绘制(2)的精确解和近似解的图形。

四、实验结果

五、讨论分析

六、改进实验建议