Bvp4c: Unable to solve the collocation equations -- a singular Jacobian encountered.

6 views (last 30 days)
I am trying to solve a boundary value problem, but I keep getting the above error. I know there are similar posts to this, but I can not seem to get this to work with them, so maybe someone can look directly at my code to get an answer?
The differential equation I want to solve is (putting it in first order form and wrting as a row vector): . Here:
I included my code as well and used to pick an inital guess. This is doing a bad job of that I think however! What else could I do here? Another inital guess, another function? Any help will be appreciated!
  2 Comments
Torsten
Torsten on 6 Apr 2022
I mean to remember that this is a transformed equation with tanh to map (-oo,oo) to [-1:1].
Could you include the original equation as well ?
Marcus Rosales
Marcus Rosales on 6 Apr 2022
I updated the attached code, and I sure can give the original equation:
In retrospect I should have included this anyways. Mapping the intreval how I did may not be the best route... Maybe someone can see something better from here.
I simply tried settting the boundary conditions to a big number for the equation in this form, but got something oscillatory or a singular Jacobian (as well).
Also, these expressions are equivalent:
so the divergence of the jacobian is at $x=\pm 1$. Restricting my interval I was able to find solutions, but with huge residuals! Not sure if something is wrong with the code itself, or the approach.

Sign in to comment.

Accepted Answer

Marcus Rosales
Marcus Rosales on 10 Apr 2022
I guess I'll answer this question since I found it out.
It turned out to work better using the EOM for α. The main issue here is as t blows up, the derivative (after converting to first order system of equations) begins to blow up making various RK-methods unstable.
We first can try fixing the b.c. at something like for l big but it turns out, here, to model the profile (amplitude) I want to. It turns out setting the upper limit to somehting just under 1 works well, then stretch the solution for by a tanh.

More Answers (0)

Categories

Find more on Numerical Integration and Differential Equations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!