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!