大学本科常微分实验报告

上传人:第*** 文档编号:31020250 上传时间:2018-02-04 格式:DOC 页数:25 大小:621KB
返回 下载 相关 举报
大学本科常微分实验报告_第1页
第1页 / 共25页
大学本科常微分实验报告_第2页
第2页 / 共25页
大学本科常微分实验报告_第3页
第3页 / 共25页
大学本科常微分实验报告_第4页
第4页 / 共25页
大学本科常微分实验报告_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《大学本科常微分实验报告》由会员分享,可在线阅读,更多相关《大学本科常微分实验报告(25页珍藏版)》请在金锄头文库上搜索。

1、福建农林大学计算机与信息学院(数学类课程)课程实习报告课程名称: 常微分方程课程实习实习题目: 常微分方程数值求解问题的实习姓 名:系: 信息与计算科学专 业: 信息与计算科学年 级: 2010学 号:指导教师:职 称: 讲师2011 年 12 月 1 日1福建农林大学计算机与信息学院数学类课程实习报告结果评定评语:成绩:指导教师签字: 评定日期:目 录1. 实习的目的和任务 .12. 实习要求 .13. 实习地点 .14. 主要仪器设备 .15. 实习内容 .15.1 用不同格式对同一个初值问题的数值求解及其分析.15.1.1 求精确解 .15.1.2 用欧拉法求解 .35.1.3 用改进欧

2、拉法求解 .55.1.4 用 4 级 4 阶龙格 库塔法求解 .75.1.5 问题讨论与分析105.2 一个算法不同不长求解同一个初值问题及其分析.135.3 洛伦茨方程 模拟混沌现象186. 结束语 .21参考文献 .211常微分方程课程实习1. 实习的目的和任务目的:通过课程实习能够应用 MATLAB 软来计算微分方程(组)的数值解;了解常微分方程数值解。任务:通过具体的问题,利用 MATLAB 软件来计算问题的结果,分析问题的结论。2. 实习要求能够从案例的自然语言描述中,抽象出其中的数学模型;能够熟练应用所学的数值解计算方法;能够熟练使用 MATLAB 软件;对常微分方程数值解有所认识

3、,包括对不同算法有所认识和对步长有所认识。3. 实习地点南 2#4254. 主要仪器设备计算机Microsoft Windows 7Matlab R2009a5. 实习内容5.1 用欧拉方法,改进欧拉方法,4 阶龙格库塔方法分别求下面微分方程的初值 dy/dx=y*cos(2*x) y(0)=1 x0,25.1 .1 求精确解变量分离方程情形:形如 的方程,这里 分别是 的()*dyfxgy(),fxgy,xy连续函数.如果 ,我们可将方程改写成 ,这样,变量就”分()0g()df离”开来了,两边同时积分即可: 为任意常数.,()yfxcg用变量分离法可求出其精确为:y=exp(0.5*sin

4、(2*x)5.1.1 程序代码: x=0:0.1:2; y=exp(0.5*sin(2*x)2 plot(x,y,rs-); Data=x,y结果及图像:y =Columns 1 through 61.0000 1.1044 1.2150 1.3262 1.4314 1.5231Columns 7 through 121.5936 1.6368 1.6484 1.6273 1.5756 1.4982Columns 13 through 181.4018 1.2940 1.1823 1.0731 0.9712 0.8801Columns 19 through 210.8015 0.7364 0.

5、6850Data =0 1.00000.1000 1.10440.2000 1.21500.3000 1.32620.4000 1.43140.5000 1.52310.6000 1.59360.7000 1.636830.8000 1.64840.9000 1.62731.0000 1.57561.1000 1.49821.2000 1.40181.3000 1.29401.4000 1.18231.5000 1.07311.6000 0.97121.7000 0.88011.8000 0.80151.9000 0.73642.0000 0.68505.1.2 用欧拉法求解设常微分方程的初始

6、问题40(,)dyfx )2(1有唯一解。则由欧拉法求初值问题(1) , (2)的数值解的计算公式为:( )(,10,0xynhfnn Lnxh1程序如下:建立函数文件 cwf1.mfunction x,y=cwf1(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);endx=x;y=y;在 MATLAB 输入以下程序: clear all fun=inline( y*cos(2*x) ); x,y=cwf1(fun,0,2,1,0.1);

7、x,y plot(x,y,r*-)结果及图像:ans =0 1.00000.1000 1.10000.2000 1.20780.3000 1.31910.4000 1.42790.5000 1.52740.6000 1.60990.7000 1.66830.8000 1.69660.9000 1.69171.0000 1.65321.1000 1.58441.2000 1.49121.3000 1.38121.4000 1.26291.5000 1.14391.6000 1.030651.7000 0.92781.8000 0.83811.9000 0.76292.0000 0.70265.1

8、.3 用改进欧拉法求解:计算公式为: 校 正 格 式预 报 格 式),(),(210(11)0( nnn yxfyxfhy当然也可以迭代多次: 校 正 格 式预 报 格 式),(),(21(1)1()0( pnnnpn yxfyxfhy程序如下:建立函数文件 cwf2.mfunction x,y=cwf2(fun,x_span,y0,h)x=x_span(1):h:x_span(2);y(1)=y0;for n=1:length(x)-1k1=feval(fun,x(n),y(n);y(n+1)=y(n)+h*k1;k2=feval(fun,x(n+1),y(n+1);6y(n+1)=y(n)

9、+h*(k1+k2)/2;endx=x;y=y;在 MATLAB 输入以下程序: clear all fun=inline( y*cos(2*x); x,y=cwf2(fun,0,2,1,0.1); x,y plot(x,y,b+-)结果及图像:ans =0 1.00000.1000 1.10390.2000 1.21380.3000 1.32440.4000 1.42900.5000 1.52010.6000 1.59020.7000 1.63300.8000 1.64450.9000 1.62341.0000 1.57201.1000 1.49491.2000 1.39911.3000 1

10、.29201.4000 1.18101.5000 1.07241.6000 0.97111.7000 0.88031.8000 0.80211.9000 0.73732.0000 0.685975.1.4 用 4 阶龙格库塔求解四级四阶的龙格库塔的一般算式 ),( ),()34241443 3332221 431 hKbKhbyaxfKfxfcchynnnn公式的截断误差阶为 。5()o经典四级四阶龙格库塔格式取定 ,则得2132a8),(2),(26343121431hKyxfKhyxfKKhynnnn这是最为著名的经典四级四阶龙格库塔格式。程序如下:建立函数文件 cwf3.mfunctio

11、n x,y=cwf3(fun,x_span,y0,h)x=x_span(1):h:x_span(2);y(1)=y0;for n=1:length(x)-1k1=feval(fun,x(n),y(n);k2=feval(fun,x(n)+h/2,y(n)+h/2*k1);k3=feval(fun,x(n)+h/2,y(n)+h/2*k2);k4=feval(fun,x(n+1),y(n)+h*k3);y(n+1)=y(n)+h*(k1+2*k2+2*k3+k4)/6;endx=x;y=y;在 MATLAB 输入以下程序: clear all; fun=inline( y*cos(2*x); x,y=cwf3(fun,0,2,1,0.1); x,y

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号