《微分方程数值解欧拉法.doc》由会员分享,可在线阅读,更多相关《微分方程数值解欧拉法.doc(36页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date微分方程数值解欧拉法1.1、求解初值问题_x0001_,已知精确解为1.1、求解初值问题,已知精确解为 当h=0.1时,解为:01100.10.9000000.9093629.3616E-030.20.8190480.8351051.6057E-020.30.7535180.7741552.0637E-020.40.7003910.7239462.3555E-020.
2、50.6571650.6823472.5182E-020.60.6217750.6475982.5823E-020.70.5925260.6182492.5723E-020.80.5680340.5931142.5080E-020.90.5471770.5712302.4053E-021.00.5290510.5518192.2768E-02当h=0.05时,解为:01100.050.9500000.9524182.4185E-030.100.9048780.9093624.4835E-030.150.8641580.8703916.2326E-030.200.8274060.8351057.
3、6996E-030.250.7942230.8031388.9155E-030.300.7642470.7741559.9084E-030.350.7371470.7478501.0704E-020.400.7126210.7239461.1324E-020.450.6903970.7021881.1791E-020.500.6702230.6823471.2124E-020.550.6518760.6642131.2338E-020.600.6351480.6475981.2450E-020.650.6198550.6323281.2473E-020.700.6058290.6182491.
4、2420E-020.750.5929180.6052201.2302E-020.800.5809850.5931141.2129E-020.850.5699090.5818191.1909E-020.900.5595790.5712301.1651E-020.950.5498960.5612581.1362E-021.000.5407710.5518191.1048E-02h=50时,解为:01100.020.9800000.9803953.9471E-040.040.9607920.9615587.6599E-040.060.9423450.9434601.1148E-030.080.924
5、6280.9260701.4422E-030.100.9076130.9093621.7491E-030.120.8912700.8933062.0363E-030.140.8755730.8778782.3048E-030.160.8604960.8630512.5553E-030.180.8460130.8488022.7888E-030.200.8321000.8351053.0058E-030.220.8187320.8219403.2073E-030.240.8058890.8092833.3938E-030.260.7935470.7971133.5662E-030.280.781
6、6850.7854103.7250E-030.300.7702840.7741553.8709E-030.320.7593230.7633284.0045E-030.340.7487840.7529114.1264E-030.360.7386490.7428864.2371E-030.380.7288990.7332364.3373E-030.400.7195180.7239464.4274E-030.420.7104900.7149984.5079E-030.440.7018000.7063794.5793E-030.460.6934310.6980734.6421E-030.480.685
7、3710.6900674.6967E-030.500.6776030.6823474.7435E-030.520.6701170.6749004.7830E-030.540.6628970.6677134.8156E-030.560.6559330.6607754.8415E-030.580.6492120.6540734.8613E-030.600.6427230.6475984.8751E-030.620.6364540.6413374.8835E-030.640.6303950.6352824.8866E-030.660.6245370.6294224.8848E-030.680.618
8、8680.6237474.8784E-030.700.6133810.6182494.8676E-030.720.6080660.6129184.8528E-030.740.6029140.6077484.8341E-030.760.5979170.6027284.8119E-030.780.5930670.5978534.7863E-030.800.5883570.5931144.7577E-030.820.5837790.5885054.7261E-030.840.5793260.5840184.6918E-030.860.5749920.5796474.6550E-030.880.570
9、7710.5753874.6159E-030.900.5666560.5712304.5746E-030.920.5626410.5671724.5314E-030.940.5587210.5632074.4864E-030.960.5548900.5593304.4397E-030.980.5511440.5555354.3916E-031.000.5474770.5518194.3420E-03有图像看出,当步长越小,计算得到的解越逼近精确解。1.2、求解初值问题,已知精确解为: ,h=0.1欧拉法改进的欧拉法预报-校正格式011110.11.004837421.000000001.005
10、000001.004761900.21.018730751.010000001.019250001.018594100.31.040818221.029000001.041837501.040632760.41.070320051.056100001.071940631.070096310.51.106530661.090490001.108819091.106277610.61.148811641.131441001.151806091.148536890.71.196585301.178296901.200300941.196295280.81.249328961.230467211.25
11、3762531.249029060.91.306569661.287420491.311703381.306264391.01.367879441.348678441.373684291.36757254欧拉法图像:改进欧拉法图像:预测-校正法图像:附录:源代码1.1、clearclc X0=0;X1=1;n=10;%更改分点数h=1/n;%步长 y(1)=1;x(1)=X0;for i=1:n x(i+1)=x(i)+h; y(i+1)=y(i)+h*(x(i)*exp(-x(i)-y(i);endx=vpa(x,6)y=vpa(y,6) X=(X0:0.001:X1);n=1/0.001;
12、for(i=1:n+1) Y(i)=0.5*(X(i)2+2)*exp(-X(i);end plot(x,y,*)hold onplot(X,Y) X=X0:h:X1;Y=0.5.*(X.2+2).*exp(-X);Y=vpa(Y,6)yy=abs(y-Y)1.2、欧拉法:clearclcX0=0;X1=1;n=10;h=1/n;y(1)=1;x(1)=X0;X=X0:h:X1;Y=X+exp(-X);Y=vpa(Y,9);%精确解XX=X0:0.0001:X1;YY=XX+exp(-XX);for i=1:nx(i+1)=x(i)+h;y(i+1)=y(i)+h*(-y(i)+x(i)+1)
13、;endy=vpa(y,9)plot(x,y,*)hold onplot(XX,YY)改进的欧拉法:clearclc X0=0;X1=1;n=10;h=1/n; y(1)=1;x(1)=X0; X=X0:h:X1;Y=X+exp(-X);Y=vpa(Y,9);%精确解 XX=X0:0.0001:X1;YY=XX+exp(-XX); for i=1:n x(i+1)=x(i)+h; y(i+1)=y(i)+h*(-y(i)+x(i)+1);endfor i=1:n y(i+1)=y(i)+0.5*h*(-y(i)+x(i)+1)+(-y(i+1)+x(i+1)+1);end y=vpa(y,9)
14、plot(x,y,*)hold onplot(XX,YY)预报-校正格式:clearclc X0=0;X1=1;n=10;h=1/n; y(1)=1;x(1)=X0; X=X0:h:X1;Y=X+exp(-X);Y=vpa(Y,9);%精确解 XX=X0:0.0001:X1;YY=XX+exp(-XX); for i=1:n x(i+1)=x(i)+h; y(i+1)=y(i)+h*(-y(i)+x(i)+1);endfor i=1:n for count=1:10 %预报-校正格式,迭代十次 y(i+1)=y(i)+0.5*h*(-y(i)+x(i)+1)+(-y(i+1)+x(i+1)+1); endend y=vpa(y,9)plot(x,y,*)hold onplot(XX,YY)-