二维传染病模型.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学模型实验二 传染病模型实验 姓 名: 学科专业: 电气信息类创新实验班 学号: 完成日期: 2012/07/07 大连理工大学 Dalian University of Technology 目 录 问题重述 1 模型假设 1 相关函数命令 2 符号约定 2 实现过程 3 结果与讨论 5 总结与心得体会 7 问题重述 最近,随着传染病在世界范围内的爆发,传染病也就越来越受到人们的广泛关注也越来越受到人们的重视,为了研究传染病在人群中的传播机制,我们建立了模型进行模拟传染病在人群中的传播,从而对传染病有进一步的认识和了解。为预防和控制传染病提供有力的帮助和支持! 模型假设 假设一:假设该群体不会再受到外部其他群体的影响; 假设二:假设该群体严格按照约定的演化机制进行演化,该传染病不会变异; 假设三:假设该群体中的个体不存在个体的流动; 假设四:假设该群体随时间演化一百步; 假设五:假设该群体中共有100*101个个体,每个个体的下一个状态仅仅有上下左右四个邻居和自身上一个时间的状态决定,且位于边界上的个体不会受到边界为因素的影响,其状态仅仅由其有效邻居决定; 假设六:假设该传染病仅仅在潜伏期具有传染性,患病个体不再具有传染病,且显示患病后下一个时间步会无条件治愈,并且治愈后不会重复患病; 假设六:假设该传染病的潜伏期为3个时间步,三个时间步后会在、显示为患病; 相关函数命令 列举在解决问题的过程中用到的Matlab命令,并举例说明每个命令的用法。 a=zeros(m,n); b=ones(m,n); for … end; 4)if … else … end ; 5)r=rand(1); 6)imagesc(a); 7)pause(t) 举例说明: a=zeros(m,n);生产一个m行n列的零矩阵; b=ones(m,n);生成一个m行n列的内部元素全为1的矩阵; for … end;该命令表示一个循环体,如for i=1:10 a=i;end表示给数组a赋值; if … else … end;该命令表示一个条件语句,如if ( a>1) t=1; else a=0;表示若数据a大于1,则数据t的值为1,否则为0; imagesc(a);该命令表示绘制矩阵a的快照图; pause(t); 该命令表示每隔t时间会绘制下一时刻的图像。 符号约定 a(i,j)表示位于第i行第j列的个体所处的状态; A为为了实现同步更新机制而定义的一个缓存矩阵; a(i,j)=0 表示该时刻该位置的个体为已免疫状态; a(i,j)=1 表示该时刻该位置的个体为易感状态; a(i,j)=2表示该时刻该位置的个体为潜伏期状态; a(i,j)=3 表示该时刻该位置的个体为患病状态; 实现过程 首先我生产了一个102*103的矩阵,用来表示100*101个个体在同一时刻的状态,首先我确定了初始状态时各个个体的状态,不妨假设该群体中90%的个体都是易感人群,2%的个体为已免疫个体,6%的个体为处于第一步潜伏期的个体,2%的个体为患病的个体。根据为的假设有:如果一个个体为已免疫个体,则在后续的时间段内该个体不再会患病,如果该个体为易感人群,且周围四邻居无人患病,那么他下一状态感染的概率为0.1%,若四邻居中仅仅有一人患病,那么该个体下一个状态感染的概率为0.7;若四邻居中仅有两人患病,那么该个体下一个状态感染的概率为0.8;若四邻居中仅仅有三人患病,那么该个体下一个状态感染的概率为0.85;若四邻居全患病,那么该个体下一个状态感染的概率为99.9%; 在matlab中的代码实现过程为: clc; clear all; a=ones(102,103); A=ones(102,103); s=ones(102,103); b=ones(100,101); t=zeros(102,103); for i=1:102 for j=1:103 a(1,j)=0; a(102,j)=0; a(i,1)=0; a(i,103)=0; end end for i=2:101 for j=2:102 d=rand(1); if d<0.9 a(i,j)=1; end if d>0.9&&d<0.92 a(i,j)=0; end

文档评论(0)

文档资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档