Solving BVP for DAE in Matlab

How do I solve boundary value problems (BVP) for differential algebraic equation systems (DAE) in Matlab?
bvp4c and bvp5c can only handle differential equations. ode15i can handle DAE, but only initial value problems (IVP).
Transformation of the DAE into a differential equations system is too costly or impossible.
Also, I do not want to write my own BVP numerical routine that uses matlabs differential equation solvers (we use Matlab because when we do not want to write our own routines, right?).
Currently I am using bvp4c/bvp5c and the function containing the differential equations calls another functions that solved the algebraic (non-differential) subsystem before calculating the rhs of the differential equations. However, this seems highly unstable and inefficient to me.
Any recommendations or experience on solving BVP for DAE in Matlab is highly welcome.
Best,
Benjamin

 Accepted Answer

Torsten
Torsten on 3 Sep 2019

4 Comments

Thank you for the link to the FORTRAN program.
So either I switch to FORTRAN or I write my own MATLAB routine (of an existing method).
Dear MATLAB developers: I am a bit dissapointed that this is the end of the road. I would like to put a built-in solver for boundary value differential-algebraic equations on the whish list for future releases.
Madhan, the explanation in your link is outdated. The option "Request an enhancement" is not available anymore. I have just made a regular technical request.
Ok, an "integrated" solver like COLDAE might perform better and more stable, but usually, your method of solving the differential and algebraic parts separately is a reasonable way to go.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!