I use MATLAB commands 'ode23' and 'ode45' for solving systems of differential equations and this program involves an *.m function (system), time-span and initial-condition (x0) only. How to solve BVPs in MATLAB? Can you give an example? Thank you!
I agree that the choice on Matlab is bvp4c or bvp5c. However, if your boundary value problem is in a high order form (i.e. the states are in cascade), scilab has the bvode based on Ascher et al fortran routines and that we have successfully used in the following references.
More precisely, if your are solving an optimal control problem and if your dynamics are in normal form, the the adjoint states have a dual normal form and the boundary value problem is in n-th order form. In this case, bvode is faster and more accurate.
Inversion in indirect optimal control: constrained and unconstrained cases
Inversion in indirect optimal control of multivariable systems