How to solve this system of ODE's
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Danny Helwegen
il 6 Feb 2019
Commentato: Star Strider
il 7 Feb 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?
0 Commenti
Risposta accettata
Star Strider
il 6 Feb 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 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Ordinary Differential Equations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!