ODE45 solving for three variables

19 vues (au cours des 30 derniers jours)
Valeria Moreno
Valeria Moreno le 23 Oct 2020
Modifié(e) : Ameer Hamza le 23 Oct 2020
Hello
I am trying to solve for an ODE with
y1'=y2
y2'=y3
y3'=-24y1-26y2-9y3
y(0)=[1 -4 -14]
when I try to code it like this
dydt = [y(2); y(3); -24*y(1)-26*y(2)-9*y(3)];
an error appears
Index exceeds the number of array elements (1).
R_tilde = builtin('subsref',L_tilde,Idx);
I'm pretty new to this so sorry if this is a simple question

Réponses (1)

Ameer Hamza
Ameer Hamza le 23 Oct 2020
Modifié(e) : Ameer Hamza le 23 Oct 2020
You need to write as a function or a function handle
dydt = @(t, y) [y(2); y(3); -24*y(1)-26*y(2)-9*y(3)];
y0 = [1 -4 -14];
tspan = [0 10];
[t, y] = ode45(dydt, tspan, y0);
plot(t, y);

Catégories

En savoir plus sur MATLAB 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