RK方法实现了泰勒级数的精度,其n阶形式可以概括如下
在这个方法中,每一个斜率值都是由上一个斜率值推出来的。p,q,a都是常数,需要将n阶RK算法与n阶泰勒展开进行对比得到具体值。
注意,由于RK方法实现了泰勒级数的精度,故对于一个微分方程的解为关于x的n阶方程的时候,其n阶RK方法得到的数值解与解析解的误差总是收敛于0的。这是因为n阶方程总可以得到泰勒n阶展开,而我们知道n阶RK方法的局部截断误差和全局截断误差和n阶泰勒级数的相同,都分别为和
,由全局截断误差为h的n阶无穷小我们知道,当步长足够多的时候,误差趋于0。
至于如何通过同阶泰勒展开求解p,q,a的值,可以通过一个二阶RK方法的例子清楚地了解到。
首先我们知道,对于一元函数在x0处有二阶泰勒展开:
当x=x0+h的时候,我们令f(x0)为,f(x0+h)为
。所以上式又可以转换为式1.2
又有链式法则我们可以得到式1.3:
代入式1.2可以得到式1.4:
上式便是泰勒二阶展开表示的估计值,接下来我们看一下二阶RK方法表示的估计值.对于二阶RK算法,其标准形式为:
又由二元二阶泰勒展开式:
将上式代入k2,我们可以得到:
代入
可以得到:
对比式1.4可以得到:
而由于a1或a2的不同选择可以得到不同的参数,所以理论上来说二阶及高阶RK方法的参数选择是无穷多的。我们一般选用经典的,具有较小的局部截断误差的参数。在众多的参数选择中,Ralston等人的方法可以提供最小的截断误差约束,使得数值解更加接近于解析解。