内江师范学院
数 值 分 析
实 验 报 告 册
编制 张莉 审定 牟廉明
专业: 班级: 级 班 学号: 姓名:
数学与信息科学学院
2013年9月
说 明
一、学生在做实验之前必须要准备实验,主要包括预习与本次实验相关的理论知识,熟练与本次实验相关的软件操作,收集整理相关的实验参考资料,要求学生在做实验时能带上充足的参考资料;若准备不充分,则学生不得参加本次实验,不得书写实验报告;
二、要求学生要认真做实验,主要是指不得迟到、早退和旷课,在做实验过程中要严格遵守实验室规章制度,认真完成实验内容,极积主动地向实验教师提问等;
三、各个实验按照学生水平分别设置了A、B、C、D四个等级,其中对应的难度系数为1、0.8、0.7、0.6,也可根据实际完成情况制定相应地的难度系数,但总体保证难度排序为A级难度最大,B级次之,C级较易,D级最简单。
四、学生可以根据自己对各个实验涉及到的知识点掌握的程度自由选取A、B、C、D等级的实验题目。
五、学生要认真工整地书写实验报告,实验报告的内容要紧扣实验的要求和目的,不得抄袭他人的实验报告;
四、根据实验准备、实验态度、实验报告的书写、实验报告的内容进行综合评定,并给出实验成绩评定分。
实验名称: 实验四 常微分方程的数值算法 指导教师: 吴开腾 张莉 实验时数: 2 实验设备: 安装了Matlab、C++、VF软件的计算机 实验日期:2013年 11 月 13 日 实验地点: 第五教学楼北902 实验目的:
1. 掌握常微分方程的各种差分方法的基本思想和基本步骤。
2. 理解各类差分方法的优缺点,并能自行编程求解,体会参数和步长对问题解的影响。
实验准备:
1. 在开始本实验之前,请回顾教科书的相关内容;
2. 需要一台准备安装Windows XP Professional操作系统和装有数学软件的计算机。
实验内容及要求
A题 求解常微分方程初值问题
?dy???y??x?1,0?x?1 ?dx??y(0)?1其中?50???50。
(1)对参数?取不同的值,取步长h?0.01,编写程序用4阶经典R-K法计算,将计算结果画图比较,并分析相应的初值问题的性态。
(2)取参数?为一个绝对值不大的负值和两个不同的步长,一个步长使参数?,h在经典R-K法的稳定域内,另一步长在经典R-K法的稳定域外,分别用R-K法编写程序计算并比较计算结果,取全域等距的10个点上的计算值。
(3)用MATLAB中的内部函数dsolve求此常微分方程初值问题的解并与(1)与(2)中的结果进行比较。
?du?dt??2000u?999.75v?1000.25??dv?u?vB题 求解微分方程组? dt??u(0)?0,v(0)??2??任选一显式方法,编写程序取不同步长求解上述方程。
C题 给定初值问题
?dy22x??y?xe,1?x?2 ?dxx??y(0)?1其精确解为y?x2(ex?e)。
试用改进的欧拉法,步长h?0.05,h?0.1,编写程序求在节点xk?1?0.1k(k?1,2,?10)处的数值解及误差,并用MATLAB中的内部函数dsolve求此常微分方程初值问题的解并与上述结果进行比较。
D题 给定初值问题
?dy22x??y?xe,1?x?2 ?dxx??y(0)?1其精确解为y?x(e?e)。
试用欧拉法,步长h?0.025,h?0.1,编写程序求在节点xk?1?0.1k(k?1,2,?10)处的数值解及误差,并用MATLAB中的内部函数dsolve求此常微分方程初值问题的解并与上述结果进行比较。
说明:实验过程应包括对问题的简要分析、求解方法、求解步骤、程序及其必要的图表等内容。
2x实验过程:
A题的实验过程
1、实验中问题的重述
问题1:对参数?取不同的值,取步长h?0.01,编写程序用4阶经典R-K法计算,将计算结果画图比较,并分析相应的初值问题的性态。
问题2:取参数?为一个绝对值不大的负值和两个不同的步长,一个步长使参数?,h在经典R-K法的稳定域内,另一步长在经典R-K法的稳定域外,分别用R-K法编写程序计算并比较计算结果,取全域等距的10个点上的计算值。
问题3:用MATLAB中的内部函数dsolve求此常微分方程初值问题的解并与(1)与(2)中的
结果进行比较。 2、问题一的求解过程
2.1 问题一的分析
首先,需要将参数?赋不同值,于是利用for循环,取1为步长。并且将?分为大于0和小于0两类,分别进行讨论。
然后,采用4阶经典R-K法计算此常微分。 最后,利用plot函数画出图形。 2.2 问题一的求解程序(见附录) 2.3 问题一的求解结果
?<0 2.5?>0 6x 10212541.53120.51000.10.20.30.40.50.60.70.80.91000.10.20.30.40.50.60.70.80.91 3、问题二的求解过程
3.1 问题二的分析
首先,取参数?为一个绝对值不大的负值和两个不同的步长,此处取?为-40,步长分别为0.01和0.2;
然后,利用R-K法编写程序计算;最后,取等距的10个点上的计算值。 3.2 问题二的求解程序(见附录) 3.3 问题二的求解结果
h = 0.01且a=-40 10.90.80.70.60.50.40.30.20.1181614121086420x 109 h = 0.2且a=-40 00.10.20.30.40.50.60.70.80.9100.10.20.30.40.50.60.70.80.91