当前位置: 首页 > news >正文

手搓传染病模型(SEIR)

先看模型

在本模型中,人群有四种自然史状态:易感者(S),暴露者(E),感染者(I)以及康复者(R) 2.模型假设人群分布是同质均匀的,未考虑人群出生、死亡、迁入迁出对疾病传播的影响 3.康复者永久免疫:康复者永久免疫该传染病,无再感染风险。

话不说多,开始手搓

% 模型参数
N = 10000; % 总人数
I0 = 10; % 初始感染人数
R0 = 0; % 初始康复人数
E0 = 2 * I0; % 初始暴露人数
S0 = N - I0 - R0 - E0; % 初始易感人数
beta = 0.4402; % 传染率
w = 0.2; % 暴露转化速率
gamma = 1 / 12; % 康复速率
num_days = 100; % 模拟天数
% x(1):感染人群I, 
% x(2):易感人群S, 
% x(3):康复人群R,
% x(4):暴露人群E
dxdt = @(t, x) [w * x(4) - gamma * x(1); % dIdt-beta * x(2) * x(1) / N; % dSdtgamma * x(1); % dRdtbeta * x(2) * x(1) / N - w * x(4); % dEdt];[t, y] = ode45(dxdt, 1: num_days, [I0, S0, R0, E0]);
hold on
plot(t, y(:, 1));
plot(t, y(:, 2));
plot(t, y(:, 3));
plot(t, y(:, 4));
legend('感染人数I', '易感人数S', '康复人群R', '暴露人群E');

看下效果

Over!

相关文章:

  • 2025年AEJ SCI2区:增强麻雀搜索算法CERL-SSA+工业物联网感知通信,深度解析+性能实测
  • 视觉导航中的滑动窗口
  • C++ RAII
  • 使用 Autofac 实现依赖注入
  • Redis缓存问题的深度解析与解决方案
  • C语言实现迪杰斯特拉算法进行路径规划
  • Java 面向对象:多态详解及各种用法
  • AI实战SEO关键词优化法
  • 昇腾大模型训推平台厂商介绍
  • 【Node.js 】在Windows 下搭建适配 DPlayer 的轻量(简陋)级弹幕后端服务
  • Redis哨兵模式深度解析:实现高可用与自动故障转移的终极指南
  • 双指针算法(2)——复写零
  • 天梯——现代战争
  • 基于STM32、HAL库的ADS1115模数转换器ADC驱动程序设计
  • AntBio: 2025 AACR Meeting - Charting New Oncology Frontiers Together
  • google chrome 中 fcitx5 候选框不跟随光标
  • `==` 和 `===` 的隐式转换规则总结
  • 直播预告|TinyVue 组件库高级用法:定制你的企业级UI体系
  • Python语言基础知识详解:标识符与变量
  • PG-EXPLAIN基础
  • 杭州银行一季度净赚超60亿增逾17%,增速较去年同期有所回落
  • 普京发表声明感谢协助俄军收复库尔斯克州的朝鲜军人
  • 国家发改委:建立实施育儿补贴制度
  • 央行副行长:我们在研究丰富政策工具箱,将适时推出增量政策
  • 体坛联播|巴萨“三杀”皇马夺国王杯,陈妤颉破亚洲少年纪录
  • “爱泼斯坦案”关键证人弗吉尼亚·朱弗雷自杀身亡