Using ODE45 for coupled equations

1 vue (au cours des 30 derniers jours)
BipityBop
BipityBop le 18 Nov 2020
Commenté : BipityBop le 18 Nov 2020
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 commentaires
James Tursa
James Tursa le 18 Nov 2020
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 le 18 Nov 2020
I have equations for dV/dtheta and dQ/dtheta.
They are as follows

Connectez-vous pour commenter.

Réponse acceptée

James Tursa
James Tursa le 18 Nov 2020
Modifié(e) : James Tursa le 18 Nov 2020
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 commentaire
BipityBop
BipityBop le 18 Nov 2020
Thanks a ton! Much appreciated

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by