摘要:本文阐述常微分方程初值问题数值解法的基本原理,分析各种方法的优点与局限性,并使用Mathematica数学软件对具体实例进行说明,最后指出常微分方程初值问题数值解法研究中有待解决的问题。
关键词:常微分方程 初值问题 数值解法
中图分类号:O241.81文献标识码:A文章编号:1673-9795(2011)03(b)-0000-00
在自然科学、工程技术、甚至社会科学的一些领域中,常常会遇见一阶常微分方程的求解问题:
()
上述问题,寻求解的具体表达式十分困难,仅对一些特殊形式的才有可能找到解的解析表达式,在大多情况下,初值问题的解不能用初等函数表示出来即使可写出解的解析表达式,但因为这些表达式过于复杂,要计算它在某些点上的函数值也异常困难。在实际问题中,经常需要的恰是解在某些点上的函数值,因此研究初值问题的数值解法十分必要。
1 常微分方程初值问题的数值解法
常微分方程的近似解法大体可分成三大类:一类是图解法和器械法;第二类是解的近似法;第三类是数值解法,即通过离散化的方法直接求出函数在某些点上的近似值,此数值解仅为精确解的近似解。其基本原理为:
一阶常微分方程的初值问题的解是上变量的连续函数,因此求上述问题的数值解,就是在区间上的若干离散点上用离散化的方法将初值问题化成离散变量的相应问题,从而相应问题的解可作为初值问题理论解的近似值。由常微分方程的理论可知,只要在区域内连续,且关于满足林普希兹条件,则方程的解存在且唯一。
初值问题的数值解法通常采取“步进法”,而“步进法”又可分为“单步法”和“多步法”两类。
(1)单步法。所谓“单步法”是指在计算时,只用到前一步的有关信息。其一般形式为: ,主要包括下面三种方法:Euler方法,改进的Euler公式-梯形公式和Runge-Kutta法。
(2)线性多步法。单步法没有用到前几步计算得到的信息,因此为了提高精度,需重新计算多个点处的函数数值,如RK方法,故计算量较大。线性多步法的基本思想是充分利用前面的已知信息来构造精度高且计算量小的算法来计算。多步法常用方法是线性多步法,求解公式为:
构造的常用方法是Taylor展开和数值积分方法。常用的线性多步公式有:
四阶Adams显式公式:
四阶Adams隐式公式:
四阶Milne显式公式:
三阶Hamming公式: (隐式公式)
预测校正系统和预测校正修正法:
一般地,同阶的隐式法比显式法精确,而且数值稳定性好,但隐式公式中 的求解较难,需要用到迭代法,这就增加了计算量。因此很少单独使用它们。预测校正法就是将隐式公式和显式公式联合起来:先用显式公式求出其预测值,再用隐式公式对预测值进行校正,求出近似值。 为了在预测校正法中避免迭代以减少工作量,且保证解的精度,我们可采用事后估计误差对此法进行修正。例:阿当姆斯预测校正修正公式。
2 常微分方程数值解法的研究现状
微分方程的实际应用范围广泛,微分方程的数值解法已成为研究的热点。已有的研究主要有以下两方面:
一方面,对现有的解法进行优化和改进,得到更为优良的解法。如新疆大学的赵建平和阿布都热西提对欧拉公式进行优化,把欧拉显式公式和隐式公式进行综合,并引入加权因子,从而得到了欧拉公式的加权隐格式。通过对此公式的讨论及实验可以得出,此公式的精度是一阶的,他的截断误差主项的大小是可以改变的,比欧拉公式要小,当加权因子为0.5时,精度为二阶精度。每步只需计算函数一次,算法简单,计算量小,不需迭代。这一点比R-K、Adams方法要好的多。
另一方面,结合新的研究方法,如小波分析、最优化理论等,提出一种新的解法。小波分析是近来应用数学研究的热点之一,它被认为是现代傅立叶分析的重大突破,并且在信号图像处理,量子场论,数值分析等众多领域有着广泛地应用。上海应用技术学院的许建强和华东师范大学的袁震东利用小波尺度函数波并结合配点法给出了求解变系数线性微分方程初值问题数值解的小波法,并通过实例计算,表明此方法具有较高的精确度。
3 常微分方程主要数值解法的比较
在实际计算中,针对具体方程如何去选取算法是非常重要的。一般来说,当函数不太复杂时可采用单步法,且多采用经典的R-K公式,当函数较复杂时,常采用多步法,如Adams预测校正系统等。若算法选定,就可设计算法直接进行求解,且通常不事先验证可解性条件,那么在计算中一旦发现问题,则不仅要检查算法本身,同时还应分析方程本身的性态等,具体问题具体解决。
实例:求解初值问题 分别用欧拉方法、改进的欧拉方法、三阶龙格库塔方法、四阶龙格库塔方法求解。
运用mathmatica求解上述问题,可以对各种方法分析如下:Euler方法是最简单的一种数值解法,其特性和研究方法对于更复杂的方法具有普遍意义。Euler公式是显式,可直接求解,而后Euler公式是隐式公式,实际计算时常把二者结合起来使用。Euler公式是折线法,其局部截断为,是一阶方法,故精确度不高!改进的Euler公式的精度明显高于Euler公式,其截断误差为,是二阶方法,其精度还有待提高。R-K公式的推导是基于Taylor展开,故要求其解具有较高的光滑度,当解充分光滑时,四阶R-K公式优于改进的Euler公式,若解的光滑性差,则效果不如Euler公式,且计算量比改进的Euler公式大。线性多步法充分利用了前面结点的信息,精度较高。数值积分方法建立多步法公式有一定的局限性,而Taylor展开可以构造任意多步法公式,且精度可达。其缺点是计算时必须计算初值,故往往和单步法配合使用,且计算量较大!
在实际计算中,我们总希望算法的局部截断误差尽可能小,因此在以后的研究中,一方面,可以对现有微分方程的数值解法进行优化,得到计算量小,精度高的算法。另一方面,科学在不断发展,在研究时可以结合新的技术和新的研究手段,得到新的解法,并用于解決实际中的问题。
推荐访问: 初值 解法 方程 数值 分析