1、 计算机与信息学院计算机与信息学院 (数学数学类课程)类课程) 课程实习报告课程实习报告 课程名称: 常微分方程课程实习 实习题目: 常微分方程数值求解问题的实习 姓 名: 系: 应用数学 专 业: 数学与应用数学 年 级: 学 号: 指导教师: 职 称: 讲师 2011 年 12 月 1 日 1 目目 录录 1. 实习的目的和任务实习的目的和任务 1 2. 实习要求实习要求. 1 3. 实习地点实习地点. 1 4. 主要仪器设备主要仪器设备. 1 5. 实习内容实习内容1-24 5.1 用不同格式对同一个初值问题的数值求解及其分析1 5.1.1 求精确解 1 5.1.2 用欧拉法求解 3 5
2、.1.3 用改进欧拉法求解 5 5.1.4 用 4 级 4 阶龙格库塔法求解 7 5.1.5 问题讨论与分析 9 5.2 一个算法不同不长求解同一个初值问题及其分析12 5.3Lorenz 方程模拟混沌现象24 6. 结束语结束语. 27 参考文献参考文献 28 2 常微分方程课程实习 1. 实习的目的和任务实习的目的和任务 目的:通过课程实习能够应用 MATLAB 软来计算微分方程(组)的数值 解;了解常微分方程数值解。 任务:通过具体的问题,利用 MATLAB 软件来计算问题的结果,分析问 题的结论。 2. 实习要求实习要求 能够从案例的自然语言描述中,抽象出其中的数学模型;能够熟练应用
3、所学的数值解计算方法;能够熟练使用 MATLAB 软件;对常微分方程数值解 有所认识,包括对不同算法有所认识和对步长有所认识。 3. 实习地点实习地点 学生宿舍 南四 313# 4. 主要仪器设备主要仪器设备 计算机 宏基 acer4750G Microsoft Windows 7 Matlab 7.0 5. 实习内容实习内容 5.1 用欧拉方法,改进欧拉方法,4 阶龙格库塔方法分别求下面微分方程的 初值 dy/dx=y+3*x, y(0)=1 x0,1,步长设为 0.05,进行求解,并比较各 种方法的精确程度。 5.1 .1 求精确解 首先可以求得其精确解为:y=-3*x-3+4exp(x)
4、 5.1.1 Matlab 代码: x=0:0.05:1; y= -3*x-3+4*exp(x); plot(x,y,b*-); Data1=x,y Data1 = 3 0 1.0000 0.0500 1.0551 0.1000 1.1207 0.1500 1.1973 0.2000 1.2856 0.2500 1.3861 0.3000 1.4994 0.3500 1.6263 0.4000 1.7673 0.4500 1.9232 0.5000 2.0949 0.5500 2.2830 0.6000 2.4885 0.6500 2.7122 0.7000 2.9550 0.7500 3.2
5、180 0.8000 3.5022 0.8500 3.8086 0.9000 4.1384 0.9500 4.4928 1.0000 4.8731 4 5.1.2 用欧拉法求解 程序如下: 建立函数文件 cwfa1.m function x,y=cwfa1(fun,x_span,y0,h) x=x_span(1):h:x_span(2); y(1)=y0; for n=1:length(x)-1 y(n+1)=y(n)+h*feval(fun,x(n),y(n); end x=x;y=y; 在 MATLAB 输入以下程序: clear all fun=inline(y+3*x); x,y=cw
6、fa1(fun,0,1,1,0.05); x,y plot(x,y,g*-) 结果及其图象: 5 ans = 0 1.0000 0.0500 1.0500 0.1000 1.1100 0.1500 1.1805 0.2000 1.2620 0.2500 1.3551 0.3000 1.4604 0.3500 1.5784 0.4000 1.7098 0.4500 1.8553 0.5000 2.0156 0.5500 2.1914 0.6000 2.3834 0.6500 2.5926 0.7000 2.8197 0.7500 3.0657 0.8000 3.3315 0.8500 3.6181 0.9000 3.9265 0.9500 4.2578 1.