龙格-库塔法在求解常微分方程实际问题中的应用(2)
时间:2020-05-12 21:43 来源:毕业论文 作者:毕业论文 点击:次
在数学上,凡是含有未知函数导数或微分的方程叫做微分方程。若未知函数是一元,则称为常微分方程。 求解微分方程,就是确定满足给定方程的可微函数 。一个微分方程与其初始条件构成的问题叫做初值问题,求解某初值问题就是求方程的特解。大多数情况下,解析解是不容易求得的,这时就需要用到数值解法。常用的求解微分方程的数值解法有欧拉法、向后欧拉法、梯形法、 方法、龙格库塔法等。 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) |