How to solve this system of ODE's
1 view (last 30 days)
Show older comments
Danny Helwegen
on 6 Feb 2019
Commented: Star Strider
on 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 Comments
Accepted Answer
Star Strider
on 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 Comments
More Answers (0)
See Also
Categories
Find more on Ordinary Differential Equations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!