[Math] How to obtain error bound on Runge-Kutta 4th order method

numerical methodsordinary differential equations

I am using Runge-Kutta 4th order method for numerical simulation of system of ODEs $x'=f(t,x)$ where $x$ has around 20 dimensions.

I wish to give a bound on the global error.

I know that the global accumulated error is $O(h^4)$, but I need an actual bound, ie what is the coefficient of $h^4$ and a bound on the terms that comes after $h^4$.

I can obtain a bound on both $|x|$ and $|\frac{dx}{dt}|$ (by appealing to physics, since my system is modelling some real-life things), but it's hard to compute bounds for higher order derivatives.

I'm sure there are many methods for error estimation, but I just need one. It doesn't have to be asymptotically tight, just an upper bound is enough.

Best Answer

One answer of the above question is $$ E=\frac{Y_{n+2}(h)-Y_{n+2}(2h)}{2^{m+1}-2} $$ computing the value at $X_{n+2}=X_0+(n+2)h$ first with two steps of size $h$ and then with one step of size $2h$. $E$ is then the estimate of the error for one step of size $h$ at or around $X_n$.

So for 4th order of RK, $m=4$; the error would be $$ E=\frac{Y_{n+2}(h)-Y_{n+2}(2h)}{30}. $$

Related Question