how to solve matrix form differential equations using ODE45?

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

Is the left hand side supposed to simply be a1*X' for the first equation and b1*Y' for the second equation?
a_1 , b_1 is constants.
The Equation can be expressed
X' means dx/dt
Y' means dy/dt

댓글을 달려면 로그인하십시오.

 채택된 답변

Jan
Jan 2021년 4월 27일
편집: Jan 2021년 4월 27일
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개)

카테고리

질문:

2021년 4월 27일

편집:

Jan
2021년 4월 27일

Community Treasure Hunt

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

Start Hunting!

Translated by