
How to plot 2 differential equations
42 次查看(过去 30 天)
显示 更早的评论
there are 2 equations dx/dt = 0.5x-0.01xy ; dy/dt = -0.5y+0.01xy ; How to plot (t,y) and (t,x) together? With t[0-40] and x(t=0)=80 ; y(t=0)=100
0 个评论
采纳的回答
Ameer Hamza
2020-6-15
See ode45()
tspan = [0, 40];
ic = [80; 100];
[t, Z] = ode45(@odeFun, tspan, ic);
x = Z(:,1); % x solution
y = Z(:,2); % y solution
hold on
plot(t, x, 'ro-');
plot(t, y, 'bv-');
legend({'x', 'y'})
function dZdt = odeFun(t, Z)
% Z(1) => x, Z(2) => y
x = Z(1);
y = Z(2);
dxdt = 0.5*x - 0.01*x*y;
dydt = -0.5*y + 0.01*x*y;
dZdt = [dxdt; dydt];
end

更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!