1. 程式人生 > >SIR模型 matlab模擬

SIR模型 matlab模擬

需要一個單獨的m檔案:

%即寫上三個微分方程
function y=SIRModel(t,x,lambda,mu)
y=[-lambda*x(1)*x(2),lambda*x(1)*x(2)-mu*x(2),mu*x(2)]';

再進行作圖

>> ts=0:1:100;
>> lambda=0.00001;
>> mu=1/14;
>> x0=[45400,2100,2500];
>> [t,x] = ode45(@(t,x) SIRModel(t,x,lambda,mu), ts, x0);
>> plot(t,x(:,1),t,x(:,2
),'.',t,x(:,3),'*'); >> xlabel('時間/天'); >> ylabel('比例'); >> legend('易感節點','傳播節點','移出節點'); >> title('λ=0.00001,μ=1/14');

這裡寫圖片描述