Dsolve for two point boundary value problem
显示 更早的评论
Can dsolve of Matlab 2019a solve the following system of differential equations (BVP):

With the following BC:

(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 个评论
Hendrik Lorenz
2019-6-25
You have 12 ODEs in 12 unknowns with 12 boundary conditions. This should give a unique solution. So you can't put constraints on it.
What you could try is to evaluate sqrt(x1-x2), sqrt(x2-x3) and sqrt(xi) as sqrt(abs(x1-x2)), sqrt(abs(x2-x3)) and sqrt(abs(xi)) and check whether your final solution satisfies x1 >= x2, x2 >= x3 and xi >= 0.
Bjorn Gustavsson
2019-6-25
Torsten, aren't the ODEs nonlinear enough to potentially have multiple solutions?
Torsten
2019-6-25
Maybe, but how to sort out complex solutions in a way different from what I suggested ?
My guess is that they have no physical meaning for the problem at hand.
Hendrik Lorenz
2019-6-26
编辑:Hendrik Lorenz
2019-6-26
Stephan
2019-6-27
Did you try using bvp5c?
Hendrik Lorenz
2019-6-28
Torsten
2019-6-28
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.
回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Boundary Value Problems 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!