龙格-库塔法在求解常微分方程实际问题中的应用(2)_毕业论文

毕业论文移动版

毕业论文 > 数学论文 >

龙格-库塔法在求解常微分方程实际问题中的应用(2)

在数学上,凡是含有未知函数导数或微分的方程叫做微分方程。若未知函数是一元,则称为常微分方程。

求解微分方程,就是确定满足给定方程的可微函数 。一个微分方程与其初始条件构成的问题叫做初值问题,求解某初值问题就是求方程的特解。大多数情况下,解析解是不容易求得的,这时就需要用到数值解法。常用的求解微分方程的数值解法有欧拉法、向后欧拉法、梯形法、 方法、龙格库塔法等。

2.龙格库塔方法

2.1 龙格库塔法的原理[4]

单步显式的欧拉法是解决常微分方程初值问题的最简单的数值解法,实际上这种方法用均差来近似导数值,得到的精度并不高。

之后,龙格和库塔在欧拉方法的基础上,为了提高计算公式的精度,提出了一种间接地运用Taylor公式的方法,简单来说,就是设法在 区间内多预报几个点的斜率值,将这些斜率值加权平均后,把它作为平均斜率的近似,构造出具有更高精度的计算格式,从而得出较多阶的数值公式,这就是龙格库塔法的设计思想。

2.2 龙格库塔公式的推导[5][6]

在自然科学和经济的许多领域中,常常会遇到初值问题

                           (1)

这里 充分光滑, 是给定的初始值, 称为初始条件。

Runge发现把Euler方法应用于初值问题时,得到 的逼近程度并不是很高,如果用梯形求积公式近似,得到的数值解精度会更高[7] 。

Kutta进一步发展思想得到方法:我们需要确定常数,源^自#优尔L文W论/文]网[www.youerw.com , 及 的值,使以下数值解法

                      (2)         

的局部截断误差满足:

         

首先将 在 处展成幂级数

将                         

代入(3)式,得

                (4)   

其中 , , 分别表示相应函数在点 处的函数值。

由上式得

       (5)

利用二元函数的泰勒展开式,将函数 在 处展开成

    (6)

代入(5)式,得

          (7)

在局部截断误差的前提假设 下,有:

    (8)

要使局部截断误差 ,当且仅当

不妨取 ,可得二阶Runge-Kutta公式为

二阶Runge-Kutta公式的局部截断误差为 

从二阶二段Runge-Kutta公式的推导可以看出,二段方法每一步需要计算两次函数值,而它也只能达到二阶精度。如果我们提高函数的计算次数,就可以得到精度更高的计算公式,高阶的龙格库塔公式的推导与二阶方法的推导完全相同,它的基本思想是通过增加计算 的次数来提高问题的精度。

(责任编辑:qin)