ODE45 SIR model problem
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Brilliant Purnawan
am 19 Nov. 2020
Kommentiert: Brilliant Purnawan
am 19 Nov. 2020
Hi, I'm quite new to MATLAB and recently tried to plot a SIR model using its first order equations, but everytime I tried to use the ODE45 it the equation doesn't seem to change it just gives me a constant plot of the initial value. Can anyone spot a problem? Code is below:
clear all, close all, clc
A = 0.1;
B = 0.3;
tspan = [0:0.01:300];
y0 = [300 0 0];
[t,y] = ode45(@(t,y)odefcn(y,A,B),tspan,y0);
plot(t,y)
function dydt = odefcn(y,A,B)
dydt = zeros(3,1);
dydt(1) = -A*y(2)*y(1);
dydt(2) = A*y(2)*y(1)-B*y(2);
dydt(3) = B*y(2);
end
0 Kommentare
Akzeptierte Antwort
Bjorn Gustavsson
am 19 Nov. 2020
In your initial conditions you have everyone perfectly "healthy" - therefore no one will ever get infected. You have to set at leas some small fraction of your population to infected. That is something like this:
y0 = [299 1 0];
That should kick things off...
HTH
Weitere Antworten (0)
Siehe auch
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!