how to solve matrix form differential equations using ODE45?
26 views (last 30 days)
Show older comments

The equation is as above.
The initial values are X0 , Y0 = 30
Time range is 1 to 1000s
How should I write the code?
a,b are constants.
2 Comments
James Tursa
on 27 Apr 2021
Is the left hand side supposed to simply be a1*X' for the first equation and b1*Y' for the second equation?
Accepted Answer
Jan
on 27 Apr 2021
Edited: Jan
on 27 Apr 2021
y0 = [30; 30];
tspan = [1, 1000];
[t, y] = ode45(@YourODE, tspan, y0);
plot(t, y);
function dy = YourODE(t, y)
a1 = 2; % set accordingly
a2 = 3;
b1 = 4;
b2 = 5;
X = y(1);
Y = y(2);
dy = [-X / a1 + Y / a1 + a2 / a1; ...
X / b1 - Y / b1 + b2 / b1];
% Or:
% dy = [(-X + Y + a2) / a1; ...
% ( X - Y + b2) / b1];
% Or:
% dy = [-1/a1, 1/a1; 1/b1, -1/b1] * y + [a2/a1; b2/b1];
end
0 Comments
More Answers (0)
See Also
Categories
Find more on Numerical Integration and 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!