定理已证明
经典龙格库塔法的精度阶数
命题陈述
经典四阶龙格库塔法由阶段k1=f(tn,yn)、k2=f(tn+2h,yn+2hk1)、k3=f(tn+2h,yn+2hk2)、k4=f(tn+h,yn+hk3)及更新公式yn+1=yn+6h(k1+2k2+2k3+k4)定义,每步的局部截断误差为O(h5),在与之前相同的利普希茨假设下,经过n步后的整体误差为O(h4)。
为什么成立?
RK4在精心选择的中间点上每步计算四次斜率,而不是一次,然后按权重1,2,2,1(分母为6)取加权平均。这多做的工作换来了比欧拉法高三阶的精度:展开式与真解的泰勒级数一直匹配到h4项,而不是只到一次项为止。
证明思路
把每个阶段在(tn,yn)附近做泰勒展开。由于k1=f(tn,yn)=y′(tn),而k2,k3是在中点用沿前一阶段方向偏移半步的yn来计算f的,把y′=f、y′′=ft+fyf、y′′′=ftt+2ftyf+fyyf2+fy(ft+fyf)的链式法则代入每个ki,就得到关于h的四个多项式,它们与y′(tn),y′′(tn),y′′′(tn)在每个阶段能看到的阶数内一致。
构造加权组合61(k1+2k2+2k3+k4)并乘以h,这个和中h1,h2,h3与h4的系数恰好就是泰勒展开y(tn+h)=y(tn)+hy′(tn)+2h2y′′(tn)+6h3y′′′(tn)+24h4y(4)(tn)+⋯中直到h4项的系数——这正是RK4表的系数c=(0,21,21,1)和b=(61,31,31,61)被选定要满足的经典阶条件。
由于两个级数在h4之前都一致,它们可能不同的第一项是O(h5)项,因此每步的局部截断误差为O(h5)。与欧拉的情形一样,利用f上的利普希茨条件,把这些局部误差在到达固定时刻所需的n≈(T−t0)/h步上累积起来,恰好损失h的一次幂,得到整体误差O(h4)。