Using ODE45 for coupled equations

조회 수: 7 (최근 30일)
BipityBop
BipityBop 2020년 11월 18일
댓글: BipityBop 2020년 11월 18일
Hello,
For the given set of equations, which are coupled, how do I solve them using ODE45 function? I have gone through the documentation for ODE45 but I seem clueless when it comes to this case. Kindly help. I have values for dV/dtheta and dQ/dtheta stored already
Thanks!
  댓글 수: 6
James Tursa
James Tursa 2020년 11월 18일
I don't understand. Do you have equations for dV/dtheta and dQ/dtheta? Why are you suddenly talking about constant values for theta?
BipityBop
BipityBop 2020년 11월 18일
I have equations for dV/dtheta and dQ/dtheta.
They are as follows

댓글을 달려면 로그인하십시오.

채택된 답변

James Tursa
James Tursa 2020년 11월 18일
편집: James Tursa 2020년 11월 18일
General procedure:
Define a variable, let's call it y to match the doc, that will be your state vector. Each element of y corresponds to one of your integration variables. E.g.,
y(1) = P
y(2) = Q
y(3) = V
y(4) = W
y(5) = xb
Then you write a derivative function that calculates the dy/dtheta vector. E.g.,
function dydtheta = myderiv(t,y,g,r,____) <-- fill in with everything that needs to be passed in
P = y(1);
Q = y(2);
V = y(3);
W = y(4);
Xb = y(5);
dPdtheta = -g * (P/V) * dVdtheta + (g-1)/V * dQdtheta;
dQdtheta = ___;
dVdtheta = ___;
dWdtheta = P * dVdtheta;
dXbdtheta = ___;
dydtheta = [dPdtheta;dQdtheta;dVdtheta;dWdtheta;dXbdtheta];
end
Fill in the blanks with your derivative code.
When you call ode45( ), use a function handle that has all the extra stuff you need to pass in. E.g.,
f = @(t,y) myderiv(t,y,g,r,____); <-- fill in the extra stuff that needs to be passed in
  댓글 수: 1
BipityBop
BipityBop 2020년 11월 18일
Thanks a ton! Much appreciated

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by