Implicit Boundary Value Problem
4 次查看(过去 30 天)
显示 更早的评论
Is there a way in Matlab to use the bvp4c or bvp5c functions to solve a system consisting of boundary value and algebraic equations where the deifinction of at least one of the derivatives is implicit?
The system looks somewhat like this:
dY(1)/dx=a
dY(2)/dx=f(Y(1),Y(3))
g(Y(2),Y(3))*[dY(1)/dx]+h(Y(2),Y(3))=0
B.C.:
yb(1)=0
ya(2)=ya(3)=0
where a and K are constants and f, g, h and j are functions relating Y(1) and Y(3) to each other. Naturally, the boundary conditions are known.
采纳的回答
J. Alex Lee
2020-2-27
Ok, so looks like what you are after is solving a DAE that has BCs at more than one boundary.
Docs say it is ode15s and ode23t that are capable of handling DAE (not ode15i; https://www.mathworks.com/help/matlab/math/solve-differential-algebraic-equations-daes.html)
It seems Matlab does not have built-in functionality to address directly (https://www.mathworks.com/matlabcentral/answers/478652-solving-bvp-for-dae-in-matlab)
This system seems simple enough to use a shooting strategy, I think. You have 3 different boundary locations, so you can treat the problem as if it were an IVP leaving 2 guesses for 2 out of 3 of the Y's at x=0 as guesses (not sure which ones, you are mixing a's, b's, and 1,2,3's), use either of the odeXX (with appropriate handling of the algebraic equation), and you will get some values for the Y's at the 2 other boundaries in the course of integration. Their deviations from your actual BCs will become residuals for a 2-variable root finding.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Boundary Value Problems 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!