SIR传染病预测模型的MATLAB代码

 时间:2026-02-14 07:24:42

1、一、SIR模型简介

(1)、易染状态S(Susceptible),也称易感者

(2)、感染状态I(Infected),也称感染者

(3)、移除状态R(Removed,Refractory or Recovered),也称移除者

二、模型中涉及的方程、

dS/dt=-aS(t)I(t)

dI/dt=aS(t)I(t)-bI(t)

dR/dt=bI(t)

三、具体模型matlab实现

建立sir函数

function y=sir(t,x)

a=0.75;b=0.25;

y=[a*x(1)*x(2)-b*x(1),-a*x(1),b*x(1)]';

建立运行main函数

[t,x]=ode45(@sir,[0,40],[0.04,0.95,0.01]);

plot(t,x(:,1),t,x(:,2),t,x(:,3),'lineWidth',2.5)

legend('感染人群 (Infectious)','易感人群 (Susceptible)','康复人群 (Recovered)')

运行主函数main。

四、小结

网上说的不是很清楚,可以看这个我已经加入了legend函数。

SIR传染病预测模型的MATLAB代码

  • 如何用matlab绘制非中心卡方分布密度函数图像
  • matlab怎么求相关系数
  • MATLAB如何绘制多条不同色彩的曲线(矩阵数据)
  • MATLAB学习与使用;绘制3D柱状图/条形图
  • matlab如何将求解数据导出
  • 热门搜索
    怎么去痘印 空调外机噪音大怎么解决 勺子用英语怎么说 环境用英语怎么说 肛门处长了一个肉疙瘩是怎么回事 林瑞阳为什么满头白发 舍利子是怎么形成的 酵素的做法大全 面包机做面包的做法 辄怎么读