Tuesday, February 2, 2010

Runge-Kutta-Fehlberg Method

One way to guarantee accuracy in the solution of an I.V.P. is to solve the problem twice using step sizes h and[Graphics:Images/RungeKuttaFehlbergMod_gr_1.gif] and compare answers at the mesh points corresponding to the larger step size. But this requires a significant amount of computation for the smaller step size and must be repeated if it is determined that the agreement is not good enough. The Runge-Kutta-Fehlberg method (denoted RKF45) is one way to try to resolve this problem. It has a procedure to determine if the proper step size h is being used. At each step, two different approximations for the solution are made and compared. If the two answers are in close agreement, the approximation is accepted. If the two answers do not agree to a specified accuracy, the step size is reduced. If the answers agree to more significant digits than required, the step size is increased.

Each Runge-Kutta-Fehlberg step requires the use of the following six values:


Then an approximation to the solution of the I.V.P. is made using a Runge-Kutta method of order 4:


And a better value for the solution is determined using a Runge-Kutta method of order 5:


The optimal step size
sh can be determined by multiplying the scalar s times the current step size h. The scalar s is


[Graphics:Images/RungeKuttaFehlbergMod_gr_6.gif] is the specified error control tolerance.

Introductory Methods of Numerical Analysis