河北大学《数学模型》实验:传染病SI模型曲线分析与编程实践

版权申诉
0 下载量 118 浏览量 更新于2024-09-01 收藏 324KB DOC 举报
实验7-1是关于传染病模型的计算机模拟与分析,主要涉及到SI模型,这是一种简单的传染病模型,假设一旦个体被感染,就立即成为传染源并持续传播,但不会康复。在这个实验中,学生被要求画出病人数目随时间变化率(di/dt)与病人数目(i)之间的关系曲线图。 具体任务包括: 1. 理解模型方程:模型表达式为di/dt = ki(1-i),其中i表示病人数在总人口中的比例,k是日接触率,即每个病人每日的有效接触人数。初始病人数i0作为输入参数。 2. 绘制di/dt~i曲线:通过MATLAB编程,利用`fplot`函数绘制di/dt与i的关系图,可以使用示例代码`fplot('0.1*x*(1-x)', [0, 1.1], [0, 0.3])`,其中0.1代表k的值。 3. 寻找最大值:利用`fminbnd`函数寻找当di/dt达到最大值时对应的i值。这涉及求解非线性最小化问题,例如`x = fminbnd('-0.1*x*(1-x)', 0, 1)`,找到函数`-0.1*x*(1-x)`在给定区间内的极值点。 4. 标注最大值:在找到最大值后,使用`plot`函数在图上标注这个点,如`holdon; plot([0, x], [y, y], ':', [x, x], [y, y], '-')`,这里y是di/dt的最大值。 整个实验旨在通过实践操作,让学生掌握传染病模型的基本概念,理解模型动态变化过程,以及运用MATLAB工具求解优化问题。这对于理解和应用数学模型在实际疾病控制策略中具有重要意义。通过这个实验,学生将提升编程技能,同时加深对传染病传播动力学的理解。