数学建模-遗传病模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2、MATLAB绘图基础
2.1MATLAB的绘图功能
MATLAB具有很强的图形处理功能和丰富 的图形表现方法。它提供了大量的二维、 三维图形函数,使得数学计算结果可以方 便地、多样性地实现可视化,这是其它语 言所不能比拟的。 MATLAB不仅能绘制几乎所有的标准图形, 而且其表现形式也是丰富多样的。 MATLAB不仅具有高层绘图能力,而且还 具有底层绘图能力——句柄绘图方法。 在面向对象的图形设计基础上,使得用户 可以用来开发各专业的专用图形。
1.3、问题求解
1.3.1问题1的解答——模型一
A、模型假设 1)、感染人数是时间的连续可微函数; 2)、单位时间内感染人数的增长率是常数,或 单位时间内感染人数的增长量与当时的感染人 数成正比。
B、模型构成
设t时刻的感染人数为 x(t ),初始时刻( t 0 ) 的感染者人数为 x0 ,感染者的增长率为r, 根据单位时间内感染人数的增长率是常数 的假设,t到 t t 时间内感染人数的增量 为: x(t t ) x(t ) rx(t )t 因此,x(t ) 满足如下的微分方程: dx rx, >> x=dsolve('Dx-r*x=0','x(0)=x0','t') dt x= x (0) x0 x0*exp(r*t)
2.2.5图形标记
在绘制图形的同时,可以对图形加上一些 说明,如图形名称、图形某一部分的含义、 坐标说明等,将这些操作称为添加图形标 记。
title(‘加图形标题'); %给图形加标题 xlabel('加X轴标记'); %给x轴加标注 ylabel('加Y轴标记'); %给y轴加标注 text(X,Y,‘添加文本’); %在图形指定位置加标 注 gtext %将标注加到图形任意位 置
plot(x,y,’cs’) —— 开关格式,开关量字符 串cs设定曲线颜色和绘图方式,其中c表
示颜色, s表示线型。
2.2.3颜色与线型
字母 y m c r g b w k 颜色 黄色 粉红 亮蓝 大红 绿色 蓝色 白色 黑色 标点 · ○ × + - : -· (--) 线型 点线 圈线 ×线 +字线 实线 星形线 虚线 点划线
E、改进方向 单位时间内感染人数的增长率不是常数, 而是逐渐下降的。原因:感染人数增长到 一定数量后,环境条件、人口总数等因素 将对感染者数量的增长起阻滞作用,且阻 滞作用随感染者数量增加而变大。增长率 是感染人数的减函数:感染者越多,增长 率越低。
1.3.2、问题2的解答——模型二
1.2问题分析
1、这是一个涉及传染病传播情况的实际问题, 其中涉及传染病感染人数随时间的变化情况及 一些初始资料,可通过建立相应的微分方程模 型加以解决。 2、问题表述中已给出了各子问题的一些相应的 假设。 3、在实际中,感染人数是离散变量,不具有连 续可微性,不利于建立微分方程模型。但由于 短时间内改变的是少数人口,这种变化与整体 人口相比是微小的。因此,为了利用数学工具 建立微分方程模型,我们还需要一个基本假设: 感染人数是时间的连续可微函数。
2.2.7图例加注
给图形加图例命令为legend。该命令把图 例放置在图形空白处,用户还可以通过鼠 标移动图例,将其放到希望的位置。 调用格式:
legend('图例说明','图例说明');
2.2.8figure——创立多图形窗口
需要建立多个图形窗口,绘制并保持每一个窗 口的图形,可以使用figure命令。 调用格式:
2.2.6坐标轴控制
用户若对坐标系统不满意,可利用axis命 令对其重新设定。
axis([xmin xmax ymin ymax]) %设定最大和最 小值 axis (’auto’) %将坐标系统返回到自动缺 省状态 axis (’square’) %将当前图形设置为方形 axis (’equal’) %两个坐标因子设成相等 axis (’off’) %关闭坐标系统 axis (’on’) %显示坐标系统
补充:其它线型 ^|v 上|下三角 <|> 左|右三角 square 正方形 diamond 菱形 pentagram 五角星 hexagram 六角星
2.2.4subplot——子图分割命令
调用格式: 行 列 绘图序号
subplot(m,n,p) —— 按从左至右, 从上至下排列
该命令将当前图形窗口分成m×n个绘图区, 即每行n个,共m行,区号按行优先编号, 且选定第p个区为当前活动区。
A、模型假设
1)、感染人数是时间的连续可微函数; 2)、感染人数受环境条件的限制,有一个最 大的可感染人数 xm。 3)、单位时间内感染人数的增长率和感染人 数有关,是其线性函数,最大感染时对应 增长率为零。
B、模型构成 仍然设t时刻的感染人数为 x(t ) ,初始时刻 ( t 0 )的感染者人数为 x0 ,感染者人数为0 时,感染人数的增长率为 r0 。根据单位时间 内感染人数的增长率和感染人数有关,是其 线性函数的假设,可得增长率关于感染者人 数的线性函数关系式:
如果已经存在一个图形窗口,plot命令则
清除当前图形,绘制新图形
可单窗口单曲线绘图;可单窗口多曲线绘
图;可单窗口多曲线分图绘图;可多窗口
绘图
可任意设定曲线颜色和线型
可给图形加坐标网线和图形加注功能
2.2.2plot的调用格式
plot(x) —— 缺省自变量绘图格式,x为向量, 以x元素值为
将问题所给出表中t=0时刻和t=1时刻的数 据代入所建立的两个模型中,确定模型中 的未知参数r和 r0 ,然后再利用它们得到 t=2到t=14时刻的仿真数据,进一步地可 以得到两个模型的仿真误差百分比。两个 模型的仿真效果和性能可以从下面的表和 图中清晰地看出。
性能分析
从上述图和表中,可以得出如下结果和结 论: 1、在传染病传播的初期(t=0到t=7),采用 两个模型都能得到很好的仿真结果; 2、在传染病传播的后期(t=8到t=14),采 用第二个模型仍能得到很好的仿真结果, 而采用第一个模型得到的结果则和真实结 果有较大的偏差;
• 预报传染病高潮到来的时刻
• 预防传染病蔓延的手段
• 按照传播过程的一般规律, 用机理分析方法建立模型
1.1问题重述
问题: 有一种传染病(如SARS、甲型H1N1)正在流行。 现在希望建立适当的数学模型,利用已经掌握的一些数据 资料对该传染病进行有效地研究,以期对其传播蔓延进行 必要的控制,减少人民生命财产的损失。考虑如下的几个 问题,建立适当的数学模型,并进行一定的比较分析和评 价展望。 1、不考虑环境的限制,设单位时间内感染人数的增长率 是常数,建立模型求t时刻的感染人数。 2、假设环境条件下所允许的最大可感染人数为 xm。单位 时间内感染人数的增长率是感染人数的线性函数,最大感 染时的增长率为零。建立模型求t时刻的感染人数。
C、模型求解
这是一个非线性微分方程,利用微分方程中的分 离变量法,求得其解为:
x(t )
xm xm r0t 1 1 e x0
D、模型分析
a) 、 根 据 前 述 微 分 方 程 作 出 dx/dt~x的曲线图,见图1-1,这是 一条抛物线。由该图可看出感染人 数增长率随感染人数的变化规律: 增长率随着感染人数的增加而先增 后减,在xm/2时达到最大。这预示 着传染病高潮的到来,是医疗卫生 部门关注和需要密切注意的时刻。 因为感染人数增长率在一定程度上 代表了医疗卫生水平,增长率越小 卫生水平越高。所以改善保健设施、 提高卫生水平可以推迟传染病高潮 的到来。
数学实验 四
一、实验项目名称
传染病模型 ——微分方程模型实验下
二、实验目的
• 进一步巩固、加强微分方程模型的 建模、求解能力; • 学习掌握用MATLAB进行二维和三维 基本图形绘制:
三、实验内容与步骤
1、建模实例:传染病模型 2、MATLAB的绘图功能
1、传染病模型
目的
• 描述ห้องสมุดไป่ตู้染病的传播过程 • 分析受感染人数的变化规律
两个模型的评价
1)通过上述分析说明,第一个模型用于 短期感染者估计有较好的近似效果,但不 能用于传染病的长期预报;第二个模型较 为符合实际情况。 2)同时说明,感染者人数的增长率并不 是一个常数,而受到环境等条件的制约, 是变化的、递减的。
3)在模型二中,为了简便,我们给出了 较准确的最大可感染人数估计;实践中, 这个参数是不易准确得到的(可通过数据 拟合),错误的参数估计会极大地影响该 模型的性能,这也是该模型的一个缺点之 一。 4)这两个模型都是确定性的连续时间模 型;为了使预报更准确,可以进一步地发 展随机性模型和离散时间模型。
b)、根据模型求解得到的 结果作出x~t曲线,见图12,这是一条S型曲线。由 该图可看出感染人数随时 间的变化规律:可以看出, 当时间趋于无穷时,x(t) 趋 于 xm , 且 对 一 切 t , x(t)<xm 。 此 性 质说明感 染者数量不可能达到最大 容量,但可无限趋近于最 大容量。
1.3.3问题3的解答—两个模型的分析比较
figure(n) —— 创建窗口函数,n为窗 口顺序号。
3、现有卫生防疫部门采集到的某地区一 定时间内一定间隔区间的感染人数数据 (见下表),利用该数据确定上述两个模 型中的相关参数,并将它们的预测值与实 际数据进行比较分析(计算仿真偏差)并 对两个模型进行适当的评价。(注:该问 题中,设最大可感染人数为2000人)
4、假设总人口可分为传染病患者和易感染者,易 感染者因与患病者接触而得病,而患病者会因治愈 而减少且对该传染病具有很强的免疫功能,建立模 型分析t时刻患病者与易感染者的关系,并对传染 情况(如流行趋势,是否最终消灭)进行预测。
C、模型求解
这是一个线性常系数微分方程,容易求得其解为:
x(t ) x0e x0 (1 r )
rt
t
D、模型分析
由上述解的形式,可以看出,感染人数将随着时间的增长 按指数规律无限增长。特别地,当时间趋向于无穷时,感 染人数也将趋向于无穷大。这显然是不符合现实的,说明 该模型不可能用于传染病的长期预报,同时也说明迫切需 要对该模型进行必要的修正。
r ( x) r0 kx
进一步,由最大感染时对应的增长率为零可确定 参数k的值为: r 0 k xm 因此,在该模型的假设下,感染人数x(t )应满足 如下的微分方程: >> dsolve('Dx=r0*(1x/xm)*x','x(0)=x0') x dx r ( x) x r0 (1 ) x, ans = xm dt xm/(1+exp(-r0*t)*(xm x(0) x 0 x0)/x0)
纵坐标,以相应元素下标为横坐标绘图; plot(x,y) —— 基本格式,以y(x)的函数关系作出直角坐标 图,如果y为n×m的矩阵,则以x为自变量,作出m条曲线; plot(x1,y1,x2,y2,…,xn,yn)—— 多条曲线绘图格式,当输入 参数都为向量时,x1和y1,x2和y2,…,xn和yn分别组成 一组向量对,每一组向量对的长度可以不同。每一向量对可 以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。 特殊形式: plot(x,y1,x,y2,x,y3,…)——以公共向量x为 X轴,分别以y1,y2,y3,…为Y轴,在同一幅图内绘制出 多条曲线。
help graph2d可得到所有画二维图形的 命令 help graph3d可得到所有画三维图形的 命令
2.2二维绘图
2.2.1plot —— 最基本的二维图形指令
plot的功能:
plot命令自动打开一个图形窗口Figure
plot用直线连接相邻两数据点来绘制图形
根据图形坐标大小自动缩扩坐标轴,将数据标 尺及单位标注自动加到两个坐标轴上,可自定 坐标轴,可把x, y 轴用对数坐标表示。