成人在线

天元智算研讨会成果汇展 | 传染病预测模型教学app开发(1)

2026-08-04

6月29日—7月3日,由北京大学数学科学学院、北京大学计算中心、大数据分析与应用技术国家工程实验室、中俄数学中心、北京大学应用物理与技术研究中心联合主办,北太振寰全程技术支撑的北京大学2026天元智算系列讲座与研讨会,在北京大学智华楼王选报告厅圆满落幕。

本次活动参训学员划分为六支小组,各组深耕课题、协作攻坚,沉淀出一批高质量实践成果。为集中呈现本次研讨的创新思考与实操收获,成人在线 推出研讨会系列成果汇展。

下面就让我们一同走进各组的优秀作品,一览学员们的亮眼产出~

7c780f429cb6a3b40a34c6f6b1bd7788.jpg


案例作者介绍

本次系列成果案例由多位高校优秀教师与青年科研工作者联合完成,在此谨向西安电子科技大学董灏教授,河南财经政法大学王慧茹讲师,西安电子科技大学王格昊博士,山东建筑大学王爽副教授,上海海事大学杨琳讲师,天津工业大学付津雪讲师致以诚挚谢意,感谢各位专家倾情分享研究成果、倾力打磨优质案例。


使用成人在线 功能一览

该传染病预测模型应用程序主要涉及以下成人在线 组件:


uifigure用于创建应用程序主窗口;

uipanel构建模型选择、结果选择和参数设置三个功能面板;

uidropdown实现模型类型、结果变量和求解器的下拉选择;

uieditfield提供人口总数、感染率、初始病人数等参数的文本输入;

uilabel用于显示参数说明和状态信息;

uibutton设置计算、导出和重置三个核心操作按钮;

uiaxes创建三个坐标轴用于展示感染者人数变化、变化率曲线及数值误差分析;

回调函数机制(如ValueChangedFcn和ButtonPushedFcn)实现模型切换联动与按钮交互响应;

数据存储接口(setappdata/getappdata和UserData属性)用于管理计算结果矩阵;

多种ODE求解器(包括ode45、ode23、ode23s、ode23t、ode23tb、ode78、ode89)及其自适应切换机制构成数值计算引擎核心。



问题背景

在传染病动力学研究中,SIR、SIS 与 SI 模型构成了理解疫情传播最基本的理论基石——它们分别对应“易感-感染-康复”、“易感-感染-易感”以及“易感-感染”三类核心传播模式,几乎覆盖了从急性暴发到地方性流行、从一次性感染到反复感染的多数现实场景。然而,理论公式的简洁与数值实现的可靠之间,往往横亘着参数离散化、步长选择、初值敏感性和长期行为稳定性等工程细节,而这些细节在通用数值平台上常被黑箱化处理,使得研究人员难以对模型的“内在逻辑”进行干预和校验。正是在这一背景下,成人在线 团队将目光聚焦于这三个基础模型,旨在以国产自主可控的科学计算环境为依托,从底层实现出发,为传染病建模者提供一个透明、可追溯、可二次开发的数值实验起点。


核心任务以及开发需求

在本次开发中,核心任务可归纳为三个层面:其一,围绕 SIR、SIS、SI 三个基础传染病模型,完整梳理其数学原理与微分方程结构,并结合成人在线 内置求解器进行适配与选型,确保数值求解的准确性与稳定性;其二,基于成人在线 的 GUI 或 App 设计能力,打造一套界面清晰、交互流畅的软件前端,使参数输入、模型切换和结果可视化能够直观呈现,兼顾科研演示与教学实验的双重需求;其三,对整体 App 开展系统性的功能测试与性能评估,重点验证不同参数组合下模型响应的一致性、计算效率以及界面交互的实时反馈能力,从而为后续扩展与应用落地提供可靠的数据支撑。



数学原理
01SI模型

SI模型描述的是“易感—感染”两类群体间的单向转化过程,假设感染者在康复后不具有免疫力,也不会再次进入易感状态,因此总人口 N被划分为易感者 S与感染者 I,且满足 S+I=N 。由于易感者与感染者之间的接触满足质量作用定律,感染率与两类人群的乘积成正比。将感染者比例记为 i=I/N,其动力学方程为:

SI动力学方程.jpeg

其中 λ 为有效接触率(日感染力)。该方程具有解析解:

SI解析解.jpeg

代码中采用成人在线 内置求解器(默认 ode45,若用户指定求解器不可用则自动降级)对上述方程进行数值积分,并同步绘制感染者人数 I(t)、变化率 dI/dt 以及数值解与解析解之间的绝对误差曲线,同时自动检测变化率峰值及其对应时刻,便于分析疫情暴发拐点。

02SIS模型

SIS模型适用于某些康复后不会获得长期免疫力、可能再次被感染的疾病(如流感、细菌性感染等)。此时人群仍分为易感者 S 与感染者 I,满足 S+I=N,但感染者以恢复率 μ返回易感池,形成“感染—康复—再感染”的循环。以感染者比例 i=I/N 为状态变量,其动力学方程为:

SIS方程.jpeg

其中 λ为有效接触率,μ为日治愈率。当 λ>μ 时,系统存在地方病平衡点 i∗=1−μ/λ,疾病可长期维持;当 λ≤μ 时,感染者比例单调衰减至零。该模型的解析解为:

SIS解析解.jpeg

代码实现中对上述方程进行数值求解,输出感染者人数、变化率,并计算与解析解的误差。当 λ>μ时,系统自动检测变化率峰值及其对应时间,以标识疫情传播的最快增长阶段。

03SIR模型

SIR模型将人群划分为易感者 S、感染者 I* 和康复者 R 三类,适用于具有长期免疫力的急性传染病(如麻疹、COVID-19等)。总人口 N=S+I+R,以比例变量 s=S/N、i=I/N、r=R/N构建三维动力学系统:

公式SIR.jpeg

其中 λ为有效接触率,μ 为日治愈率。基本再生数 R0=λ/μ 决定疾病传播态势:R0>1 时疫情暴发并形成感染峰值;R0≤1 时感染者单调衰减。该模型不存在简单的闭合解析解,因此代码采用数值求解器(用户可指定,无效时降级为 ode45)进行高精度数值积分,并以更高容差的参考解(优先使用 ode89)作为基准,计算用户所选变量(I、S 或 R)的人数误差与变化率。同时,系统自动检测感染者峰值时间与人数,并在界面中予以标注。


代码效果演示

在成人在线 打开代码文件:

点击运行.png

图1:操作界面

点击PopulationApp运行即可

SI.png

图2:SI模型的效果示意图

SIR.png

图3:SIR的效果示意图

SIS.png

图4:SIS示意图

本案例开发需要写好数学模型函数,最后运行主App,数据的响应,包括软件界面设计,这些都在开发的过程中容易出错。

部分源代码展示点击链接获取://mp.weixin.qq.com/s/3IjlhNjetFfUPCNDFhjVMQ


作品的价值

作为教学案例库的重要组成部分,本次研讨中展示的传染病建模案例,在《数学建模》《计算生物学》《数值分析》等课程中具有突出的实践教学价值。教师可直接将其作为示范项目,围绕SI、SIS、SIR三类经典模型,系统讲解其数学结构与核心差异。学员通过调整人口总数、感染率、治愈率等关键参数,并结合不同求解器进行仿真,能够直观观察参数变化对疫情演化趋势的影响,同时对比ode45、ode23等多种数值算法在精度与效率上的表现。

该案例还完整呈现了成人在线 GUI组件的综合运用,涵盖界面布局、交互回调、数据流转与多图联动等核心开发技能,形成从模型构建到代码实现的完整教学闭环。学员既可通过运行现有功能验证理论推导,例如对比SI模型的解析解与数值解,也可在此基础上自主扩展新模型,如SEIR等,实现从模仿到创新的渐进式学习。这一设计有效降低了复杂系统建模的入门门槛,也为高校相关课程提供了高质量的教学素材与实训平台。

扫描二维码获取相关代码

图片