bvptwp.m

Algorithm 927, the MATLAB code bvptwp.m for the numerical solution of two point boundary value problems. In this article we describe the code bvptwp.m, a MATLAB code for the solution of two point boundary value problems. This code is based on the well-known Fortran codes, twpbvp.f, twpbvpl.f and acdc.f, that employ a mesh selection strategy based on the estimation of the local error, and on revisions of these codes, called twpbvpc.f, twpbvplc.f and acdcc.f, that employ a mesh selection strategy based on the estimation of the local error and the estimation of two parameters which characterize the conditioning of the problem. The codes twpbvp.f/tpbvpc.f use a deferred correction scheme based on Mono-Implicit Runge-Kutta methods (MIRK); the other codes use a deferred correction scheme based on Lobatto formulas. The acdc.f/acdcc.f codes implement an automatic continuation strategy. The performance and features of the new solver are checked by performing some numerical tests to show that the new code is robust and able to solve very difficult singularly perturbed problems. The results obtained show that bvptwp.m is often able to solve problems requiring stringent accuracies and problems with very sharp changes in the solution. This code, coupled with the existing boundary value codes such as bvp4c.m, makes the MATLAB BVP section an extremely powerful one for a very wide range of problems.

This software is also peer reviewed by journal TOMS.