The most time consuming part of BVP4C is the function colloc_Jac, especially when the number of equations is large. In bvp4c2 the inefficient sparse matrix operation in colloc_Jac is optimized according to the method intruduced in Loren's blog (http://blogs.mathworks.com/loren/2007/03/01/creating-sparse-finite-element-matrices-in-matlab/). When called without unknown parameters and FJacobian is not used, bvp4c2 is more than 10x faster than BVP4C for large BVP systems.
The mex file SPARSE2.MEXW32 is compiled from SuiteSparse(http://www.cise.ufl.edu/research/sparse/SuiteSparse/). It is about 2x faster than SPARSE. If you encounters problem with it, just comment it out in bvp4c2 and use the MATLAB function sparse.
Qun HAN (2022). bvp4c2 (https://www.mathworks.com/matlabcentral/fileexchange/24359-bvp4c2), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!