MATLAB: How to plot 2 differential equations

differential equations

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

Best Answer

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