How to solve ODEs that are a function of the derivatives of the state variables
조회 수: 7 (최근 30일)
이전 댓글 표시
I don't know how to properly ask this question. Let me try to explain it.
Typical coupled ODEs:
y'(1) = function(state variables)
y'(2) = function(state variables)
y'(3) = etc ...
Can I solve ODEs in MATLAB that look like this?:
y'(1) = function(state variable,y'(x))
y'(2) = function(state variables,y'(x))
y'(3) = etc ...
basically I am asking if you can have y primes' on the right side of the equal sign.
(Edit 3/1/2011) example:
- rho' = f(rho,A,u,u')
- u' = f(rho,u,P')
- h' = f(u, u')
- P' = f(alpha,T',T,rho',rho)
- T' = f(alpha,h')
- alpha'= f(T,rho',rho,alpha)
It is not possible to write the primes' in terms of state variables only. Can MATLAB solve these type of equations? Is there a similar function to Mathematica's NDSolve[]?
댓글 수: 2
Matt Tearle
2011년 2월 25일
The notation is a bit confusing. Can you give a small example. I think the answer is "yes", but an example would help show how (as well as understand the question correctly)
채택된 답변
Matt Tearle
2011년 3월 2일
Ah, that actually wasn't what I was thinking (I don't know why, b/c in retrospect your question makes perfect sense). Anyway, that actually makes the answer fairly easy: yes. See ode15i. Rewrite the equations as a vector system F(A,x,x'), where x = [rho; u; h; P; T; alpha], and away you go.
댓글 수: 5
Matt Tearle
2011년 3월 2일
Here are the online doc pages:
Function handles in general
http://www.mathworks.com/help/matlab/ref/function_handle.html
Anonymous function handles
http://www.mathworks.com/help/matlab/matlab_prog/f4-70115.html
And, most useful in this context, using anonymous handles to provide parameters to named functions, for use in things like the ode routines
http://www.mathworks.com/help/matlab/matlab_prog/f4-70115.html#f4-70238
추가 답변 (1개)
Jesse
2011년 3월 2일
댓글 수: 2
Matt Tearle
2011년 3월 2일
Thanks for posting that, for the benefit of others. I'd call that an example of "doing the right thing"
(http://www.mathworks.com/company/aboutus/mission_values/)
참고 항목
카테고리
Help Center 및 File Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!