一类常微分方程初值问题的自适应解法

时间:2022-08-31 04:23:20

一类常微分方程初值问题的自适应解法

摘要:本文利用自适应数值积分构造出一类常微分方程初值问题数值解法,提出自适应梯形算法、自适应Simpson算法以及自适应的Cotes算法。利用Matlab软件对所构造新算法对常微分方程初值问题进行了数值模拟,与一些常用算法在时间和精度方面进行了比较,数值例子体现出我们新方法的可行性与高效性。

关键词:常微分方程初值问题;自适应;数值积分;Matlab

中图分类号:O13文献标识码:A文章编号:1671―1580(2014)02―0148―03

一、引言

对于一阶常微分方程的初值问题

二、基于自适应数值积分的常微分方程数值算法原理

根据上式,可以近似地取Tk+1-Tk作为当前步近似值Tk+1的误差。若预定精度ε满足∫bkakf(x)dx-Tk+1

三、数值算例

用基于三种自适应的积分方法求解x=1时y(1)的数值解结果和误差情况如表1所示,同用等步长h=0.01时的复化梯形公式、4阶的Runge-Kutta方法和4阶Adams显式公式所求的数值解结果进行了比较,如表1所示,相比之下可看出自适应Cotes积分公式和4阶Runge-Kutta方法结果相对最为准确,但前者用时最少。从整体上看基于自适应梯形积分公式的算法所得到的结果明显比复化梯形公式的误差小,运行时间短。相应的基于自适应Simpson积分公式和自适应Cotes积分公式的算法所得到的结果明显比4阶Runge-Kutta方法和4阶Adams显示公式误差要小,运行时间短。同时对比于梯形公式、4阶的Runge-Kutta方法和4阶Adams显式公式三种方法,可以看出计算常微分方程数值解的单步法迭代公式如果收敛阶数越小,程序运行的时间越长,并且误差相对较大。而多步法在相同条件下,4阶Adams显式公式比4阶的Runge-Kutta方法所得数值解误差大。

用基于三种自适应的积分方法求解x=9时y(9)的数值解结果和误差情况如表2所示,同用等步长h=0.01时的复化梯形公式、4阶的Runge-Kutta方法和4阶Adams显式公式所求的数值解结果和误差情况相比,如表2所示,相比之下可看出自适应Cotes积分公式结果也相对最为准确,而且用时最少。从整体上看基于自适应梯形积分公式的算法所得到的结果明显比梯形公式的误差小,运行时间短。相应的基于自适应Simpson积分公式和自适应Cotes积分公式的算法所得到的结果明显比4阶Runge-Kutta方法和4阶Adams显示公式误差要小,运行时间短。同时对比梯形公式、4阶的Runge-Kutta方法和4阶Adams显式公式三种方法,可以看出计算常微分方程数值解的单步法迭代公式如果收敛阶数越小,程序运行的时间越长,误差则相对较大。而多步法在相同条件下,4阶Adams显式公式比4阶的Runge-Kutta方法所得数值解误差大。

基于三种自适应的积分方法选用的节点如图2所示,基于自适应梯形积分公式的算法选用的节点数最多,自适应Cotes积分公式的算法选用的节点数最少。

[参考文献]

[1]李庆扬,王能超,易大义.数值分析(第5版)[M].北京:清华大学出版社,2008.

[2]胡健伟,汤怀民.微分方程数值方法(第2版)[M].北京:科学出版社,2007.

[3]任玉杰.数值分析及其MATLAB实现:MATLAB6.X,7.X版[M].北京:高等教育出版社,2007.

[4]GeraldCF,WheatleyPO.应用数值分析(第7版)[M].白峰杉改编.北京:高等教育出版社,2006.

[5]李庆扬.常微分方程数值解法(刚性问题与边值问题)[M].北京:清华大学出版社,1992.

上一篇:潜在的生成与转化 下一篇:例谈定积分的计算方法与特殊技巧