Bogacki–Shampine Method
   HOME

TheInfoList



OR:

The Bogacki–Shampine method is a method for the numerical solution of ordinary differential equations, that was proposed by Przemysław Bogacki and Lawrence F. Shampine in 1989 . The Bogacki–Shampine method is a Runge–Kutta method of order three with four stages with the First Same As Last (FSAL) property, so that it uses approximately three function evaluations per step. It has an embedded second-order method which can be used to implement adaptive step size. The Bogacki–Shampine method is implemented in the ode3 for fixed step solver and ode23 for a variable step solver function in
MATLAB MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementat ...
. Low-order methods are more suitable than higher-order methods like the
Dormand–Prince method In numerical analysis, the Dormand–Prince (RKDP) method or DOPRI method, is an embedded method for solving ordinary differential equations (ODE). The method is a member of the Runge–Kutta family of ODE solvers. More specifically, it uses six fu ...
of order five, if only a crude approximation to the solution is required. Bogacki and Shampine argue that their method outperforms other third-order methods with an embedded method of order two. The
Butcher tableau A butcher is a person who may slaughter animals, dress their flesh, sell their meat, or participate within any combination of these three tasks. They may prepare standard cuts of meat and poultry for sale in retail or wholesale food establishme ...
for the Bogacki–Shampine method is: Following the standard notation, the differential equation to be solved is y'=f(t,y). Furthermore, y_n denotes the numerical solution at time t_n and h_n is the step size, defined by h_n = t_-t_n. Then, one step of the Bogacki–Shampine method is given by: : \begin k_1 &= f(t_n, y_n) \\ k_2 &= f(t_n + \tfrac12 h_n, y_n + \tfrac12 h_n k_1) \\ k_3 &= f(t_n + \tfrac34 h_n, y_n + \tfrac34 h_n k_2) \\ y_ &= y_n + \tfrac29 h_n k_1 + \tfrac13 h_n k_2 + \tfrac49 h_n k_3 \\ k_4 &= f(t_n + h_n, y_) \\ z_ &= z_n + \tfrac7 h_n k_1 + \tfrac14 h_n k_2 + \tfrac13 h_n k_3 + \tfrac18 h_n k_4. \end Here, z_ is a second-order approximation to the exact solution. The method for calculating y_ is due to . On the other hand, y_ is a third-order approximation, so the difference between y_ and z_ can be used to adapt the step size. The FSAL—first same as last—property is that the stage value k_4 in one step equals k_1 in the next step; thus, only three function evaluations are needed per step.


References

* . * . * . {{DEFAULTSORT:Bogacki-Shampine method Runge–Kutta methods