Can bvp4c solve multipoint bvp problems with unknown parameters?

4 views (last 30 days)
Hi
I am interested in solving a boundary value problem arising from an hamiltonian jacobi bellman equation. It is a second order ODE with boundary conditions. I also require that the solution is strictly concave. To ensure that the solution is concave I have tried to specify an inequality condition on the slope of the solution at the left hand boundary point (i.e. I have solved for an unknown residual parameter that must be positive and that keeps the second derivative negative) however it does not guarantee concavity over the entire interval. I thought that potentially I could specify many such conditions at multiple boundary points, but bvp4c tells me I have too many arguments in my ode function (I have both params and region).
Hence my question: is there a way to solve multipoint bvps with unknown parameters, or is there another way to ensure my solution is concave?
Thanks for your help

Answers (2)

Przemysław Majewski
Przemysław Majewski on 30 Oct 2014
Andrea,
in my opinion additional (constant) parameters are in fact not parameters. If odefun runs as
d/dt [ y1; y2 ] = odefun(t, [y1; y2], par1)
it is exactly equivalent to adding a constant variable
d/dt [ y1; y2; par1 ] = ...
odefun2(t, [y1; y2; par1], NO PARAMETER ANYMORE - REGION INSTEAD) = ...
[ odefun(t, [y1; y2], par1); 0 (this var will be constant) ].
Thus you have increased the number of variables by the number of parameters. For a mathematician parameters are also variables, just constant ones... Now your syntax is "unblocked" and you can use regions. Jacobians also don't change much, just encase them with zeros.
Remember to initialize parameters and also remember that you should add equations providing continuity at intermediate boundary points.

Achref Amor
Achref Amor on 21 Nov 2016
Hi, I encounter the same problem. Can someone help me please? A BVP should be solved. I have two regions [0 sc] and [sc 1.]. sc is unknown and three other parameters two. It seems that matlab didn't make the difference between the region and other parameters. I tried to solve this problem for weeks but without success. Thank you
  4 Comments
Torsten
Torsten on 22 Nov 2016
And you have measurement data for one or some of the solution variables y(1),...,y(4) ?
Best wishes
Torsten.
Achref Amor
Achref Amor on 22 Nov 2016
I have to vary (Yc = y(4)[sc]) and see how all other parameters change. The problem is the buckling of a beam under lateral pressure (P is unknown) and orthogonal force (F is unknown). The coordinate (sc) where the force is applied can change after buckling it's also unknown. I have tried the shooting method with the ode45 but it doesn't work properly. I want to use bvp4c but I didn't find how to use this solver when we have two regions and unknown parameters. I have seen the example threebvp.m but in this example there is no unknown parameters.
For the first and second Yc = y(4)[sc], I can guess the value of all para1(i). I have results found with mathematica but I don't have the code. The author said that he used the shooting method coupled with the predictor corrector method. I don't known if I can use that in matlab (did you have an example).
My first problem is that the solver bvp4c can not deal with an ODE with unknown parameters and three point boundary condition.
thanks a lot

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!