欢迎来到天天文库
浏览记录
ID:50956444
大小:125.50 KB
页数:6页
时间:2020-03-16
《微分方程求解的后退欧拉法、龙格库塔法.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、数值计算方法实验上机测验微分方程求解的后退欧拉法、龙格库塔法(三阶、四阶)日期:2011-06-16一、测验目的1.学习matlab的使用方法。2.掌握常微分方程的几种数值解法:后退欧拉法、龙格库塔法(三阶、四阶)。3.比较各方法的数值解及误差,了解各方法的优缺点。二、实验题目给定的初值问题及其精确解按(1)后退欧拉法,步长h=0.05,h=0.1;(2)三阶龙格—库塔法,步长h=0.05,h=0.1;(3)四阶标准龙格—库塔法,步长h=0.05,h=0.1;求在节点处的数值解及误差比较各方法的优缺点。三、实验原理1.对于后
2、退欧拉法:利用进行迭代求解可以完成计算需要将微分方程表达式和精度计算表达式作为两个函数保存在m文件里并在程序中调用:①微分方程(wangdaren_wf)functionz=wangdaren(x,y)z=-2*x*(y*exp(x^2)-1)/exp(x^2)end②精确解计算(wangdaren_jq)functionz=wangdaren_jq(x)z=x*x/exp(x^2)end龙格—库塔法基本思想:用在几个不同点的数值加权平均斜率,使截断误差的阶数尽可能高。即取不同点的斜率的加权平均作为平均斜率,以便提高阶数。2
3、.对于三阶龙格—库塔法:利用可以完成计算3.对于四阶龙格—库塔法:利用可以完成计算四、实验内容由上述实验原理叙述的后退欧拉法,三阶龙格—库塔法,四阶龙格—库塔法几种常微分方程数值解法分别对已给定的初值问题进行求解,比较各方法的数值解及误差,了解各方法的优缺点。五、实验结果1.对于后退欧拉法:①若h=0.05h=0.05;y=0;x=0;fori=1:20k1=h*wangdaren_wf(x,y);k2=h*wangdaren_wf(x+h,y+k1);y=y+0.5*k1+0.5*k2x=x+h;z=wangdaren_j
4、q(x)t=abs(y-z);A=[xyzt]End结果:A=1.00000.36710.36790.0007自变量(x)近似值(y)精确值(z)误差绝对值(t)0.05000.00250.00250.00000.10000.00990.00990.00000.15000.02200.02200.00000.20000.03840.03840.00000.25000.05860.05870.00010.30000.08220.08230.00010.35000.10820.10840.00010.40000.13620.13
5、630.00020.45000.16520.16540.00020.50000.19440.19470.00030.55000.22320.22350.00030.60000.25080.25120.00040.65000.27650.27690.00050.70000.29970.30020.00050.75000.31990.32050.00060.80000.33680.33750.00060.85000.35010.35080.00070.90000.35960.36030.00070.95000.36530.366
6、00.00071.00000.36710.36790.0007②若h=0.1h=0.1;y=0;x=0;fori=1:10k1=h*wangdaren_wf(x,y);k2=h*wangdaren_wf(x+h,y+k1);y=y+0.5*k1+0.5*k2x=x+h;z=wangdaren_jq(x);t=abs(y-z);A=[xyzt]end结果为A=1.00000.36480.36790.0031自变量近似值精确值误差0.10000.00990.00990.00000.20000.03830.03840.00010.
7、30000.08190.08230.00030.40000.13570.13630.00060.50000.19370.19470.00100.60000.24960.25120.00150.70000.29820.30020.00200.80000.33500.33750.00250.90000.35750.36030.00281.00000.36480.36790.00312.对于三阶龙格—库塔法:①若h=0.05clearallh=0.05;y=0;x=0;fori=1:20;k1=wangdaren_wf(x,y);
8、k2=wangdaren_wf(x+h/2,y+k1*(h/2));k3=wangdaren_wf(x+h,y-h*k1+2*h*k2);y=y+(k1+4*k2+k3)*(h/6);x=x+h;z=wangdaren_jq(x);t=abs(y-z);A=[xyzt]End结果:自变量近
此文档下载收益归作者所有