Dsolve for two point boundary value problem

4 views (last 30 days)
Hendrik Lorenz
Hendrik Lorenz on 25 Jun 2019
Commented: Torsten on 28 Jun 2019
Can dsolve of Matlab 2019a solve the following system of differential equations (BVP):
Capture.PNG
With the following BC:
Capture2.PNG
(T= 60)
I tried to insert it like this:
xlambdasol = dsolve(eqns, cond)
with eqns and cond being the above specified expressions but I get the output:
Warning: Unable to find explicit solution.
> In dsolve (line 201)
In inner_minimization_problem_mfile (line 294)
So I guess it can not. Why is that? What is the method used in dsolve?
  9 Comments
Hendrik Lorenz
Hendrik Lorenz on 28 Jun 2019
Yes I did and it is giving a solution now. There was still something wrong in my BCs.
Little follow up question:
And tried to apply it to my case setting as "internal" boundaries the points where my functions are discontinuous (where the discontinuity depends on the states (dependent variables) of my equations). And there is the problem already, my states are not the independent variable of the problem. The time t is my independent variable. So I cannot really treat those equations as a multipoint BVP since I can not state the time (independent variable) at which the discontinuouties (= region boundary) will appear?
Is that right or is there another way?
Paragraph of the tutorial I am referring to:
Form Initial Guess
For multipoint BVPs, the boundary conditions are automatically applied at the beginning and end of the interval of integration. However, you must specify double entries in xmesh for the other interface points. A simple guess that satisfies the boundary conditions is the constant guess y = [1; 1].
xc = 1;
xmesh = [0 0.25 0.5 0.75 xc xc 1.25 1.5 1.75 2];
yinit = [1; 1];
sol = bvpinit(xmesh,yinit);
Torsten
Torsten on 28 Jun 2019
If you implement a shooting method (e.g. by combining "ode45" for the forward integration and "fsolve" to adjust the missing boundary conditions at t=0), you could use the "event" facility of the ODE solvers to interrupt integration when a state-dependent discontinuity appears.
When you use "bvp4c", this is not possible since you solve the complete problem on a predefined t-mesh. The only thing you could try is using "if"-statements to handle the discontinuities.

Sign in to comment.

Answers (0)

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!