微分方程求解数值方法Word下载.docx
《微分方程求解数值方法Word下载.docx》由会员分享,可在线阅读,更多相关《微分方程求解数值方法Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
![微分方程求解数值方法Word下载.docx](https://file1.bdocx.com/fileroot1/2022-11/26/d9b3e7c7-91b6-45c2-a8bb-7efae6e4a3db/d9b3e7c7-91b6-45c2-a8bb-7efae6e4a3db1.gif)
(3)四阶标准龙格—库塔法,步长h=0.1;
求在节点
处的数值解及误差比较各方法的优缺点。
三、实验原理
1.对于欧拉法:
利用Yn+1=Yn+hf(Xn,Yn)①
Y0=Y(X0)②二式可以完成计算
需要将微分方程表达式和精度计算表达式作为两个函数保存在m文件里并在程序中调用:
①微分方程(wei_fen)
functionz=wei_fen(x,y)
z=(2/x)*y+x*x*exp(x);
end
②精确解计算(jing_que)
functionz=jing_que(x)
z=x*x*(exp(x)-exp
(1))
2.对于改进的欧拉法:
利用Yn+1=Yn+1/2*K1+1/2*K2①n=1,2,3……
K1=hf(Xn,Yn)②
K2=hf(Xn+h,Yn+K1)③三式可以完成计算
3.对于龙格—库塔法:
利用Yn+1=Yn+1/6(K1+2K2+2K3+K4)①
K1=hf(Xn,Yn)②
K2=hf(Xn+1/2*h,Yn+1/2*K1)③
K3=hf(Xn+1/2*h,Yn+1/2*K2)④
K4=hf(Xn+h,Yn+K3)⑤四式可以完成计算
四、实验内容
由上述实验原理叙述的欧拉法,改进的欧拉法,龙格—库塔法几种常微分方程数值解法分别对已给定的初值问题进行求解,比较各方法的数值解及误差,了解各方法的优缺点。
五、实验结果
1.对于欧拉法:
①若h=0.025
>
h=0.025;
y=0;
x=1;
fori=1:
40;
y=y+h*wei_fen(x,y)
x=x+h
vpa(y)
z=jing_que(x)
t=y-z
结果:
h=0.025
Xy真实值误差
1.0000.0000000.0000000.000000
1.1000.3254730.345920-0.020447
1.2000.8165320.866643-0.050111
1.3001.5163941.607215-0.090821
1.4002.4757422.620360-0.144617
1.5003.7538853.967666-0.213781
1.6005.4200875.720962-0.300874
1.7007.5551027.963873-0.408771
1.80010.25291710.793625-0.540708
1.90013.62275614.323082-0.700326
2.00017.79136418.683097-0.891733
②若h=0.1
h=0.1;
10;
结果:
h=0.1
1.1000.2718280.345920-0.074092
1.2000.6847560.866643-0.181887
1.3001.2769781.607215-0.330237
1.4002.0935482.620360-0.526812
1.5003.1874453.967666-0.780221
1.6004.6208185.720962-1.100144
1.7006.4663967.963873-1.497477
1.8008.80912010.793625-1.984505
1.90011.74799714.323082-2.575085
2.00015.39823618.683097-3.284861
2.对于改进的欧拉法(预估—校正):
①若h=0.05
h=0.05;
fori:
20
k1=h*wei_fen(x,y);
k2=h*wei_fen(x+h,y+k1);
y=y+0.5*k1+0.5*k2;
x=x+h;
h=0.05
Xy真实值误差
1.1000.3449150.345920-0.001005
1.2000.8642910.866643-0.002352
1.3001.6031461.607215-0.004069
1.4002.6141742.620360-0.006185
1.5003.9589383.967666-0.008729
1.6005.7092345.720962-0.011728
1.7007.9486637.963873-0.015211
1.80010.77441810.793625-0.019207
1.90014.29933714.323082-0.023744
2.00018.65424518.683097-0.028852
②若h=0.01
h=0.01;
100
h=0.01
1.0000.00000000000.00000000000.0000000000
1.1000.34591028730.3459198765-0.0000095892
1.2000.86662169270.8666425358-0.0000208430
1.3001.60718134771.6072150782-0.0000337305
1.4002.62031130592.6203595512-0.0000482454
1.5003.96760189803.9676662942-0.0000643962
1.6005.72087932425.7209615256-0.0000822014
1.7007.96377179267.9638734778-0.0001016852
1.80010.793501783610.7936246605-0.0001228768
1.90014.322935727614.3230815359-0.0001458083
2.00018.682926567718.6830970819-0.0001705142
3.对于龙格—库塔法:
k2=h*wei_fen(x+h/2,y+k1/2);
k3=h*wei_fen(x+h/2,y+k2/2);
k4=h*wei_fen(x+h,y+k3);
y=y+(k1+2*k2+2*k3+k4)/6;
1.1000.34591987530.3459198765-0.0000000012
1.2000.86664253320.8666425358-0.0000000026
1.3001.60721507401.6072150782-0.0000000041
1.4002.62035954532.6203595512-0.0000000059
1.5003.96766628643.9676662942-0.0000000078
1.6005.72096151575.7209615256-0.0000000099
1.7007.96387346567.9638734778-0.0000000122
1.80010.793624645710.7936246605-0.0000000147
1.90014.323081518414.3230815359-0.0000000174
2.00018.683097061518.6830970819-0.0000000203
六、实验结果分析
1.对于欧拉法,步长越小,精度越高,而产生的误差越小。
总体来说,欧拉法的优点是形式简单,计算方便,缺点是总的运算精度比较低。
而且随着x的增大,误差值也越来越大。
根据欧拉公式的截断误差计算,欧拉法是一阶方法。
2.对于改进欧拉法,其基本特征与欧拉法相似,也是步长越小,精度越高,误差越小。
优点是精度相对欧拉法来说较高,截断误差为O(h^3),缺点是比欧拉法计算量大。
根据欧拉改进法公式的截断误差计算,欧拉改进法是二阶方法。
3.对于龙格—库塔法,优点是精度更高,同样的步长下精度比欧拉法高的多,误差更小,截断误差为O(h^5),故龙格—库塔法是四阶方法。
缺点是每步都要计算四次微分值。
4.综上,选取方法时,可综合考虑精度要求和复杂度控制要求等实际需要,从而选择适当的方法求解。
数值实验实验报告