
How to plot 2 differential equations
42 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Az Zahra Hazimah
le 15 Juin 2020
Commenté : Ameer Hamza
le 15 Juin 2020
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 commentaires
Réponse acceptée
Ameer Hamza
le 15 Juin 2020
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

2 commentaires
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!