[ Home ] | Numerical Methods. Note « 8 » |
Runge-Kutta methods. These are one-step methods where the solution y is advanced by one step h as y1=y0+hk, where k is a cleverly chosen constant. The first order Runge-Kutta method is simply the Euler's method k=f(x0,y0). Second order Runge-Kutta method advances the solution by an auxiliary evaluation of the derivative:
k=k1/2 | : | k0 = f(x0,y0), y1/2 = y0 + h/2 k0, k1/2 = f(x1/2 ,y1/2), y1 = y0 + hk1/2 |
k= 1/2 (k0+k1) | : | k1 = f(x1,y0+hk0), y1 = y0 + h 1/2 (k0+k1). |
Step-size control.
Tolerance tol is the maximal accepted error consistent with the
required absolute acc
and relative eps
accuracies
tol = max(eps*max(y),acc*√(h/b-a)).
Error err
is estimated from comparing the solution for a
full-step and two half-steps (the Runge principle):
err = |y(h) - y(2(h/2))|/(2k-1).The next step is estimated according to the prescription hnext=hprevious*(acc/err)power*Safety, where power∼0.25, Safety∼0.95
Bulirsch-Stoer methods. The idea is to evaluate y1 with several (ever smaller) step-sizes and then make an extrapolation to step-size zero.
Multi-step and predictor-corrector methods.