Using ODE45 for coupled equations

2 visualizzazioni (ultimi 30 giorni)
BipityBop
BipityBop il 18 Nov 2020
Commentato: BipityBop il 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 Commenti
James Tursa
James Tursa il 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 il 18 Nov 2020
I have equations for dV/dtheta and dQ/dtheta.
They are as follows

Accedi per commentare.

Risposta accettata

James Tursa
James Tursa il 18 Nov 2020
Modificato: James Tursa il 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

Più risposte (0)

Categorie

Scopri di più su Programming in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by