文档详情

常微分方程的数值解法(欧拉法改进欧拉法泰勒方法和龙格库塔法).doc

发布:2015-09-07约6.3千字共10页下载文档
文本预览下载声明
[例1]用欧拉方法与改进的欧拉方法求初值问题 在区间[0,1]上取的数值解。 [解] 欧拉方法的计算公式为 使用excel表格进行运算,相应结果如下 例一:欧拉法 n x y 精确解 0 0 1 1 1 0.1 1 1.003322 2 0.2 1.006667 1.013159 3 0.3 1.019824 1.029142 4 0.4 1.039054 1.050718 5 0.5 1.063754 1.077217 6 0.6 1.093211 1.107932 7 0.7 1.126681 1.142165 8 0.8 1.163443 1.179274 9 0.9 1.202845 1.218689 10 1 1.244314 1.259921 现用matlab编程,程序如下 x0=0; y0=1; x(1)=0.1; y(1)=y0+0.1*2*x0/(3*y0^2); for n=1:9 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.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 Columns 9 through 10 0.9000 1.0000 y = Columns 1 through 8 1.0000 1.0067 1.0198 1.0391 1.0638 1.0932 1.1267 1.1634 Columns 9 through 10 1.2028 1.2443 改进的欧拉方法其计算公式为 本题的精确解为,可用来检验数值解的精确度,列出计算结果。 使用excel表格进行运算,相应如下 例一:改进的欧拉法 n x 预测y 校正y 精确解 0 0 1 1 1 1 0.1 1 1.003333 1.003322 2 0.2 1.009956 1.01318 1.013159 3 0.3 1.026169 1.029171 1.029142 4 0.4 1.048054 1.050751 1.050718 5 0.5 1.074904 1.077252 1.077217 6 0.6 1.105976 1.107965 1.107932 7 0.7 1.140549 1.142194 1.142165 8 0.8 1.177965 1.179297 1.179274 9 0.9 1.217646 1.218706 1.218689 10 1 1.259103 1.25993 1.259921 现用matlab编程,程序如下 x0=0; y0=1; x(1)=0.1; ya(1)=y0+0.1*2*x0/(3*y0^2); y(1)=y0+0.05*(2*x0/(3*y0^2)+2*x0/(3*ya^2)); for n=1:9 x(n+1)=0.1*(n+1); 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)); end; x y 结果为 x = Columns 1 through 8 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 Columns 9 through 10 0.9000 1.0000 y = Columns 1 through 8 1.0000 1.0099 1.0261 1.0479 1.0748 1.1059 1.1407 1.1783 Columns 9 through 10 1.2183 1.2600 [例2]用泰勒方法解 分别用二阶、四阶泰勒方法计算点=0.1, 0.2, …, 1.0处的数值解,并与精确解进行比较。 解:二阶泰勒方法 对于本题 故 使用excel表格进行运算,相应结果如下 n x y 精确解 0 0 1 1 1 0.1 1.003333 1.003322 2 0.2 1.013223 1.013159 3 0.3
显示全部
相似文档