1、1.0390541.05071850.51.0637541.07721760.61.0932111.10793270.71.1266811.14216580.81.1634431.17927490.91.2028451.218689101.2443141.259921现用matlab编程,程序如下x0=0;y0=1;x(1)=0.1;y(1)=y0+0.1*2*x0/(3*y02);for n=1: x(n+1)=0.1*(n+1); y(n+1)=y(n)+0.1*2*x(n)/(3*y(n)2); end; x y结果为x = Columns 1 through 8 0.1000 0.20
2、00 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 Columns 9 through 10 0.9000 1.0000y = 1.0000 1.0067 1.0198 1.0391 1.0638 1.0932 1.1267 1.1634 1.2028 1.2443改进的欧拉方法其计算公式为本题的精确解为,可用来检验数值解的精确度,列出计算结果。使用excel表格进行运算,相应如下改进的欧拉法预测y校正y1.0033331.0099561.013181.0261691.0291711.0480541.0507511.0749041.0772521.1059
3、761.1079651.1405491.1421941.1779651.1792971.2176461.2187061.2591031.25993ya(1)=y0+0.1*2*x0/(3*y02);y(1)=y0+0.05*(2*x0/(3*y02)+2*x0/(3*ya2); ya(n+1)=ya(n)+0.1*2*x(n)/(3*ya(n)2); y(n+1)=y(n)+0.05*(2*x(n)/(3*y(n)2)+2*x(n+1)/(3*ya(n+1)2); 1.0000 1.0099 1.0261 1.0479 1.0748 1.1059 1.1407 1.17831.2183 1.2
4、600例2用泰勒方法解分别用二阶、四阶泰勒方法计算点0.1, 0.2, , 1.0处的数值解,并与精确解进行比较。解:二阶泰勒方法对于本题故1.0132231.0292911.0509691.0775751.1083881.1427041.1798781.219341.260601y(1)=y0+0.1/(3*y02)*(2*x0+0.1*(1-4*x02/(3*y03); y(n+1)=y(n)+0.1/(3*y(n)2)*(2*x(n)+0.1*(1-4*x(n)2/(3*y(n)3); Columns 1 through 9 0.1000 0.2000 0.3000 0.4000 0.5
5、000 0.6000 0.7000 0.8000 0.9000 Column 10 1.0000 1.0033 1.0132 1.0293 1.0510 1.0776 1.1084 1.1427 1.1799 1.2193 1.2606四阶泰勒方法例二:y的一阶导数y的二阶导数y的三阶导数y的四阶导数0.666667 -1.333331.0033280.0662250.653509-0.13402-1.183061.0131910.1298840.616121-0.2711 -0.790411.0292110.1888080.560087-0.40991-0.29471.0508230.241
6、4960.49274-0.543790.1597871.0773460.2871890.421266-0.663420.4828091.1080630.3257850.351405-0.760550.6515451.1422740.3576560.286967-0.830570.6901671.1793390.3834610.229962-0.872960.6414121.2186920.4039830.181038-0.89030.546371.259850.4200210.13996-0.886940.435585ya0=2*x0/(3*y02);%一阶导数yb0=2/(3*y02)-8*
7、x02/(9*y05);%二阶导数yc0=-4*x0/(3*y05)-80*x03/(27*y08);%三阶导数yd0=-4/(3*y05)+40*x02/(3*y08)-1280*x04/(81*y011);%四阶导数y(1)=y0+0.1*ya0+0.01/2*yb0+0.001/6*yc0+0.0001/24*yd0;ya(1)=2*x(1)/(3*y(1)2);yb(1)=2/(3*y(1)2)-8*x(1)2/(9*y(1)5);yc(1)=-4*x(1)/(3*y(1)5)-80*x(1)3/(27*y(1)8);yd(1)=-4/(3*y(1)5)+40*x(1)2/(3*y(1
8、)8)-1280*x(1)4/(81*y(1)11); y(n+1)=y(n)+0.1*ya(n)+0.01/2*yb(n)+0.001/6*yc(n)+0.0001/24*yd(n); ya(n+1)=2*x(n+1)/(3*y(n+1)2); yb(n+1)=2/(3*y(n+1)2)-8*x(n+1)2/(9*y(n+1)5); yc(n+1)=-4*x(n+1)/(3*y(n+1)5)-80*x(n+1)3/(27*y(n+1)8); yd(n+1)=-4/(3*y(n+1)5)+40*x(n+1)2/(3*y(n+1)8)-1280*x(n+1)4/(81*y(n+1)11);Y 1
9、.0033 1.0132 1.0292 1.0508 1.0773 1.1081 1.1423 1.17931.2187 1.2598例3用标准四阶RK方法求在区间0, 1上,的数值解以及在区间1, 10上,的数值解,并与精确解进行比较。例三:标准四阶RK方法k1k2k3k40.0033330.0033220.0066230.0098690.0098370.0129890.016030.0159830.0188831.0291430.0216320.0215750.0241540.026560.02650.0287260.0307720.0307150.0325860.0342860.0342
10、340.0357720.0371550.0371110.038350.0394540.0394170.0403980.0403990.0412640.0412350.0419970.0426630.0426410.043222k10=2*0.1*x0/(3*y02);k20=2*0.1*(x0+0.05)/(3*(y0+k10/2)2);k30=2*0.1*(x0+0.05)/(3*(y0+k20/2)2);k40=2*0.1*(x0+0.1)/(3*(y0+k30)2);y(1)=y0+(k10+2*k20+2*k30+k40)/6;k1(1)=2*0.1*x(1)/(3*y(1)2);k2
11、(1)=2*0.1*(x(1)+0.05)/(3*(y(1)+k1(1)/2)2);k3(1)=2*0.1*(x(1)+0.05)/(3*(y(1)+k2(1)/2)2);k4(1)=2*0.1*(x(1)+0.1)/(3*(y(1)+k3(1)2); y(n+1)=y(n)+(k1(n)+2*k2(n)+2*k3(n)+k4(n)/6; k1(n+1)=2*0.1*x(n+1)/(3*y(n+1)2); k2(n+1)=2*0.1*(x(n+1)+0.05)/(3*(y(n+1)+k1(n+1)/2)2); k3(n+1)=2*0.1*(x(n+1)+0.05)/(3*(y(n+1)+k2(n+1)/2)2); k4(n+1)=2*0.1*(x(n+1)+0.1)/(3*(y(n+1)+k3(n+1)2); 1.0033 1.0132 1.0291 1.0507 1.0772 1.1079 1.1422 1.1793 1.2187 1.2599
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1