fbpx
维基百科

龙格-库塔法

数值分析中,龙格-库塔法(英文:Runge-Kutta methods)是用于非线性常微分方程的解的重要的一类隐式或显式迭代法。这些技术由数学家卡尔·龙格马丁·威尔海姆·库塔于1900年左右发明。

四阶龙格-库塔法 编辑

在各種龙格-库塔法當中有一個方法十分常用,以至于经常被称为“RK4”或者就是“龙格-库塔法”。该方法主要是在已知方程导数和初始值时,利用计算机的仿真应用,省去求解微分方程的复杂过程。

初值问题表述如下。

 

则,对于该问题的RK4由如下方程给出:

 

其中

 
 
 
 

这样,下一个值(yn+1)由现在的值(yn)加上时间间隔(h)和一个估算的斜率的乘积所决定。该斜率是以下斜率的加权平均:

  • k1是时间段开始时的斜率;
  • k2是时间段中点的斜率,通过欧拉法采用斜率k1来决定y在点tn + h/2的值;
  • k3也是中点的斜率,但是这次采用斜率k2决定y值;
  • k4是时间段终点的斜率,其y值用k3决定。

当四个斜率取平均时,中点的斜率有更大的权值:

 

RK4法是四阶方法,也就是说每步的误差是h5,而总积累误差为h4阶。

注意上述公式对于标量或者向量函数(y可以是向量)都适用。

显式龙格-库塔法 编辑

显式龙格-库塔法是上述RK4法的一个推广。它由下式给出

 

其中

 
 
 
 
 

(注意:上述方程在不同著述中有不同但等价的定义)。

要给定一个特定的方法,必须提供整数s(级数),以及系数 aij(对于1 ≤ j < is), bi(对于i = 1, 2, ..., s)和ci(对于i = 2, 3, ..., s)。这些数据通常排列在一个助记工具中,称为Butcher tableau(得名自約翰·C·布徹英语John C. Butcher):

0
   
     
     
         
         

龙格-库塔法是自洽的,如果

 

如果要求方法的精度為p階,即截斷誤差為O(hp+1)的,则还有相应的条件。这些可以从截斷誤差本身的定义中导出。例如,一个2级2阶方法要求b1 + b2 = 1, b2c2 = 1/2, 以及b2a21 = 1/2。

例子 编辑

RK4法处于这个框架之内。其表为:

0
1/2 1/2
1/2 0 1/2
1 0 0 1
1/6 1/3 1/3 1/6

然而,最简单的龙格-库塔法是(更早发现的)欧拉方法,其公式為 。这是唯一自洽的一级显式龙格-库塔法。相应的表为:

0
1

隐式龙格-库塔法 编辑

以上提及的显式龙格-库塔法一般来讲不适用于求解刚性方程。这是因为显式龙格-库塔法的稳定区域被局限在一个特定的区域里。显式龙格-库塔法的这种缺陷使得人们开始研究隐式龙格-库塔法,一般而言,隐式龙格-库塔法具有以下形式:

 

其中

 

在显式龙格-库塔法的框架里,定义参数 的矩阵是一个下三角矩阵,而隐式龙格-库塔法并没有这个性质,这是两个方法最直观的区别:

 

需要注意的是,与显式龙格-库塔法不同,隐式龙格-库塔法在每一步的计算里需要求解一个线性方程組,这相应的增加了计算的成本。

参考 编辑

  • George E. Forsythe, Michael A. Malcolm, and Cleve B. Moler. Computer Methods for Mathematical Computations. Englewood Cliffs, NJ: Prentice-Hall, 1977. (See Chapter 6.)
  • Ernst Hairer, Syvert Paul Nørsett, and Gerhard Wanner. Solving ordinary differential equations I: Nonstiff problems, second edition. Berlin: Springer Verlag, 1993. ISBN 3-540-56670-8.
  • William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling. Numerical Recipes in C. Cambridge, UK: Cambridge University Press, 1988. (See Sections 16.1 and 16.2.)

龙格, 库塔法, 数值分析中, 英文, runge, kutta, methods, 是用于非线性常微分方程的解的重要的一类隐式或显式迭代法, 这些技术由数学家卡尔, 龙格和马丁, 威尔海姆, 库塔于1900年左右发明, 目录, 四阶, 显式, 例子, 隐式, 参考四阶, 编辑在各種龙格, 库塔法當中有一個方法十分常用, 以至于经常被称为, 或者就是, 龙格, 库塔法, 该方法主要是在已知方程导数和初始值时, 利用计算机的仿真应用, 省去求解微分方程的复杂过程, 令初值问题表述如下, displaystyle, q. 数值分析中 龙格 库塔法 英文 Runge Kutta methods 是用于非线性常微分方程的解的重要的一类隐式或显式迭代法 这些技术由数学家卡尔 龙格和马丁 威尔海姆 库塔于1900年左右发明 目录 1 四阶龙格 库塔法 2 显式龙格 库塔法 2 1 例子 3 隐式龙格 库塔法 4 参考四阶龙格 库塔法 编辑在各種龙格 库塔法當中有一個方法十分常用 以至于经常被称为 RK4 或者就是 龙格 库塔法 该方法主要是在已知方程导数和初始值时 利用计算机的仿真应用 省去求解微分方程的复杂过程 令初值问题表述如下 y f t y y t 0 y 0 displaystyle y f t y quad y t 0 y 0 nbsp 则 对于该问题的RK4由如下方程给出 y n 1 y n h 6 k 1 2 k 2 2 k 3 k 4 displaystyle y n 1 y n h over 6 k 1 2k 2 2k 3 k 4 nbsp 其中 k 1 f t n y n displaystyle k 1 f left t n y n right nbsp k 2 f t n h 2 y n h 2 k 1 displaystyle k 2 f left t n h over 2 y n h over 2 k 1 right nbsp k 3 f t n h 2 y n h 2 k 2 displaystyle k 3 f left t n h over 2 y n h over 2 k 2 right nbsp k 4 f t n h y n h k 3 displaystyle k 4 f left t n h y n hk 3 right nbsp 这样 下一个值 yn 1 由现在的值 yn 加上时间间隔 h 和一个估算的斜率的乘积所决定 该斜率是以下斜率的加权平均 k1是时间段开始时的斜率 k2是时间段中点的斜率 通过欧拉法采用斜率k1来决定y在点tn h 2的值 k3也是中点的斜率 但是这次采用斜率k2决定y值 k4是时间段终点的斜率 其y值用k3决定 当四个斜率取平均时 中点的斜率有更大的权值 slope k 1 2 k 2 2 k 3 k 4 6 displaystyle mbox slope frac k 1 2k 2 2k 3 k 4 6 nbsp RK4法是四阶方法 也就是说每步的误差是h5阶 而总积累误差为h4阶 注意上述公式对于标量或者向量函数 y可以是向量 都适用 显式龙格 库塔法 编辑显式龙格 库塔法是上述RK4法的一个推广 它由下式给出 y n 1 y n h i 1 s b i k i displaystyle y n 1 y n h sum i 1 s b i k i nbsp 其中 k 1 f t n y n displaystyle k 1 f t n y n nbsp k 2 f t n c 2 h y n a 21 h k 1 displaystyle k 2 f t n c 2 h y n a 21 hk 1 nbsp k 3 f t n c 3 h y n a 31 h k 1 a 32 h k 2 displaystyle k 3 f t n c 3 h y n a 31 hk 1 a 32 hk 2 nbsp displaystyle vdots nbsp dd dd k s f t n c s h y n a s 1 h k 1 a s 2 h k 2 a s s 1 h k s 1 displaystyle k s f t n c s h y n a s1 hk 1 a s2 hk 2 cdots a s s 1 hk s 1 nbsp 注意 上述方程在不同著述中有不同但等价的定义 要给定一个特定的方法 必须提供整数s 级数 以及系数 aij 对于1 j lt i s bi 对于i 1 2 s 和ci 对于i 2 3 s 这些数据通常排列在一个助记工具中 称为Butcher tableau 得名自約翰 C 布徹 英语 John C Butcher 0c 2 displaystyle c 2 nbsp a 21 displaystyle a 21 nbsp c 3 displaystyle c 3 nbsp a 31 displaystyle a 31 nbsp a 32 displaystyle a 32 nbsp displaystyle vdots nbsp displaystyle vdots nbsp displaystyle ddots nbsp c s displaystyle c s nbsp a s 1 displaystyle a s1 nbsp a s 2 displaystyle a s2 nbsp displaystyle cdots nbsp a s s 1 displaystyle a s s 1 nbsp b 1 displaystyle b 1 nbsp b 2 displaystyle b 2 nbsp displaystyle cdots nbsp b s 1 displaystyle b s 1 nbsp b s displaystyle b s nbsp 龙格 库塔法是自洽的 如果 j 1 i 1 a i j c i f o r i 2 s displaystyle sum j 1 i 1 a ij c i mathrm for i 2 ldots s nbsp 如果要求方法的精度為p階 即截斷誤差為O hp 1 的 则还有相应的条件 这些可以从截斷誤差本身的定义中导出 例如 一个2级2阶方法要求b1 b2 1 b2c2 1 2 以及b2a21 1 2 例子 编辑 RK4法处于这个框架之内 其表为 01 2 1 21 2 0 1 21 0 0 11 6 1 3 1 3 1 6然而 最简单的龙格 库塔法是 更早发现的 欧拉方法 其公式為y n 1 y n h f t n y n displaystyle y n 1 y n hf t n y n nbsp 这是唯一自洽的一级显式龙格 库塔法 相应的表为 01隐式龙格 库塔法 编辑以上提及的显式龙格 库塔法一般来讲不适用于求解刚性方程 这是因为显式龙格 库塔法的稳定区域被局限在一个特定的区域里 显式龙格 库塔法的这种缺陷使得人们开始研究隐式龙格 库塔法 一般而言 隐式龙格 库塔法具有以下形式 y n 1 y n h i 1 s b i k i displaystyle y n 1 y n h sum i 1 s b i k i nbsp 其中 k i f t n c i h y n h j 1 s a i j k j i 1 s displaystyle k i f left t n c i h y n h sum j 1 s a ij k j right quad i 1 ldots s nbsp 在显式龙格 库塔法的框架里 定义参数a i j displaystyle a ij nbsp 的矩阵是一个下三角矩阵 而隐式龙格 库塔法并没有这个性质 这是两个方法最直观的区别 c 1 a 11 a 12 a 1 s c 2 a 21 a 22 a 2 s c s a s 1 a s 2 a s s b 1 b 2 b s c A b T displaystyle begin array c cccc c 1 amp a 11 amp a 12 amp dots amp a 1s c 2 amp a 21 amp a 22 amp dots amp a 2s vdots amp vdots amp vdots amp ddots amp vdots c s amp a s1 amp a s2 amp dots amp a ss hline amp b 1 amp b 2 amp dots amp b s end array begin array c c mathbf c amp A hline amp mathbf b T end array nbsp 需要注意的是 与显式龙格 库塔法不同 隐式龙格 库塔法在每一步的计算里需要求解一个线性方程組 这相应的增加了计算的成本 参考 编辑George E Forsythe Michael A Malcolm and Cleve B Moler Computer Methods for Mathematical Computations Englewood Cliffs NJ Prentice Hall 1977 See Chapter 6 Ernst Hairer Syvert Paul Norsett and Gerhard Wanner Solving ordinary differential equations I Nonstiff problems second edition Berlin Springer Verlag 1993 ISBN 3 540 56670 8 William H Press Brian P Flannery Saul A Teukolsky William T Vetterling Numerical Recipes in C Cambridge UK Cambridge University Press 1988 See Sections 16 1 and 16 2 取自 https zh wikipedia org w index php title 龙格 库塔法 amp oldid 79400036, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。