Dynamic system using ode45

9 visualizzazioni (ultimi 30 giorni)
Michelle Westin
Michelle Westin il 20 Apr 2020
Commentato: Michelle Westin il 21 Apr 2020
Hi,
I need to solve the following function:
function X2d = dynamics(h,theta,beta,hd,thetad,betad,Mt,Ct,Kt,hdd,thetadd,betadd)
X = [h;theta;beta;hd;thetad;betad;hdd;thetadd;betadd];
h = X(1);
theta = X(2);
beta = X(3);
hd = X(4);
thetad = X(5);
betad = X(6);
hdd = X(7);
thetadd = X(8);
betadd = X(9);
X1 = [X(1);X(2);X(3)];
X2 = [X(4);X(5);X(6)];
X2d = [X(7);X(8);X(9)];
X2d = inv(Mt)*(-Ct*X2-Kt*X1);
end
Where d are dot, so it is a system of differential equations.
How can I solve this? May I use ode45?
Thanks

Risposta accettata

Muthu
Muthu il 20 Apr 2020
Modificato: Muthu il 20 Apr 2020
You first need to convert this function into a form, which can be passed in ode45
To solve using ode45, you need to have three important inputs -> @equation, timerange, initial condition, options
hence your equation should begin like:
function X2d = dynamics(t, Y, options):
Y contains all the initial conditions of the variables.
options contain the arguements that you might need to pass in.
define the constants inside the function.
Then proceed with your code.
Good luck.
  1 Commento
Michelle Westin
Michelle Westin il 21 Apr 2020
Muthu, thank you for yoour answer. Actually I sumarize the problem to post here. There are other functions to generate the matrices I am using.
I will try to implement like you suggested and if I have another problem, I will post here. Also, I will study a bit more about ode45.
Thank you again and regards

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by