Can an ODE be solved with an implicit form in MATLAB?
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I would like to know if MATLAB can solve equations in the form of f(x',x,t) = 0. For example, when the ODE is not in the explict form x' = f(x,t) + u(t), but in the implicit form f(x',x,t) = 0.
Akzeptierte Antwort
MathWorks Support Team
am 22 Jan. 2010
The general form f(x',x,t) = 0 is a differential algebraic equation (DAE). Implicit ODEs are a special case of DAE's with no algebraic equations. The function ODE15I available in MATLAB version 7.0 (R14) and above can solve fully implicit ODEs and DAEs of index 1.
For previous versions of MATLAB, you may be able to use the function ODE15S as described in the attached document, 'bvp_paper.pdf'.
This paper has many examples of solving DAEs, in addition to the HB1DAE and AMP1DAE examples included in MATLAB 5.3 (R11). Additionally, the following paper may also be helpful:
<http://audiophile.tam.cornell.edu/~als93/SR97.pdf>
For a more complete list of the types of integration available in MATLAB, see the Related Solution listed at the bottom of the page.
You may want to look at "Numerical Solution of Initial-Value Problems in Differential-Algebraic Equations" by K.E. Brenan, S.L. Campbell, and L.R. Petzold for more information about DAEs.
If you have a DAE with index greater than 1, MATLAB’s ODE solvers cannot solve it directly. However, you can apply index reduction on the DAE to reduce it to a DAE with an index of 1 and use ODE15S on that reduced DAE.
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Ordinary Differential Equations finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!