Effacer les filtres
Effacer les filtres

How to solve this system of ODE's

2 vues (au cours des 30 derniers jours)
Danny Helwegen
Danny Helwegen le 6 Fév 2019
Commenté : Star Strider le 7 Fév 2019
Hi i have a rather simple question, I need to solve a system of ode's of the form Ax = b with given A and timespan and interval.
A = [-199 -198; 99 98]
To solve this i wrote the following code:
function dxdt = System()
dxdt = zeros (2,2);
dxdt(1) = -199*x(1) - 198*x(2);
dxdt(2) = 99*x(1) + 98*x(2);
dxdt = dxdt';
end
And:
[t,x] = ode45(@System, [0 2.5], [1 1])
plot(t,x)
The error that i get is:
Error using System
Too many input arguments
Does someone see where i went wrong?

Réponse acceptée

Star Strider
Star Strider le 6 Fév 2019
Your ODE funciton has to have your independent and dependent variables (here ‘t’ and ‘x’) as arguments.
Try this:
function dxdt = System(t,x)
dxdt = zeros (2,1);
dxdt(1) = -199*x(1) - 198*x(2);
dxdt(2) = 99*x(1) + 98*x(2);
end
[t,x] = ode45(@System, [0 2.5], [1 1]);
plot(t,x)
  2 commentaires
Danny Helwegen
Danny Helwegen le 7 Fév 2019
Thanks, I completly forgot about them
Star Strider
Star Strider le 7 Fév 2019
As always, my pleasure.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by