matlab传染病模型
sis模型matlab代码

sis模型matlab代码SIS模型是一种基于概率的传染病模型,用于研究传染病在人群中的传播规律。
在SIS模型中,人群被分为易感者和感染者两类。
易感者可以通过与感染者接触而被感染,同时感染者也可以通过治疗或自愈变为易感者。
本文将介绍如何使用MATLAB编写SIS模型代码。
一、建立模型在MATLAB中建立SIS模型需要确定以下参数:易感者的初始人数(N),感染者的初始人数(I),每个时刻单位时间内一个人会接触到多少其他人(b),每个时刻单位时间内一个人会从感染状态变为易感状态的概率(p),每个时刻单位时间内一个人会从易感状态变为感染状态的概率(q)。
其中,b、p和q都是介于0和1之间的实数。
二、编写代码1.首先,我们需要定义上述参数:N = 1000; % 初始易感者数量I = 10; % 初始感染者数量b = 0.05; % 接触率p = 0.1; % 感染率q = 0.05; % 恢复率2.然后,我们需要定义时间步长和时间范围:dt = 0.1; % 时间步长t = 0:dt:100; % 时间范围3.接下来,我们需要定义易感者和感染者的初始状态:S(1) = N - I; % 初始易感者数量I(1) = I; % 初始感染者数量4.然后,我们需要使用for循环计算每个时间步长内易感者和感染者的数量:for j=2:length(t)dSdt = -b*S(j-1)*I(j-1)/N + q*I(j-1);dIdt = b*S(j-1)*I(j-1)/N - p*I(j-1);S(j) = S(j-1) + dSdt*dt;I(j) = I(j-1) + dIdt*dt;end5.最后,我们可以使用plot函数将易感者和感染者的数量随时间变化的曲线绘制出来:plot(t,S,'-',t,I,'--');xlabel('时间(天)');ylabel('人数');legend('易感者','感染者');三、结果分析通过运行上述代码,我们可以得到易感者和感染者随时间变化的曲线。
数学建模——传染病模型

传染病模型摘要当今社会,人们开始意识到通过定量地研究传染病的传播规律,建立传染病的传播模型,可以为预测和控制传染病提供可靠、足够的信息。
本文利用微分方程稳定性理论对传统传染病动力学建模方式进行综述,且针对甲流,SARS等新生传染病模型进行建模和分析。
不同类型的传染病的传播过程有其各自不同的特点,我们不是从医学的角度一一分析各种传染病的传播,而是从一般的传播机理分析建立各种模型,如简单模型,SI模型,SIS模型,SIR模型等。
本文中,我们应用传染病动力学模型来描述疾病发展变化的过程和传播规律,运用联立微分方程组体现疫情发展过程中各类人的内在因果联系,并在此基础上建立方程求解算法。
然后,通过借助Matlab程序拟合出与实际较为符合的曲线并进行了疫情预测,评估各种控制措施的效果,从而不断完善文中的模型。
本文由简到难、全面地评价了该模型的合理性与实用性,而后对模型和数据也做了较为扼要的分析,进一步改进了模型的不妥之处。
同时,在对问题进行较为全面评价的基础上又引入更为全面合理的假设,运用双线性函数模型对卫生部的措施进行了评价并给出建议,做好模型的完善与优化工作。
关键词:传染病模型,简单模型,SI,SIS,SIR,微分方程,Matlab。
一、问题重述有一种传染病(如SARS、甲型H1N1)正在流行,现在希望建立适当的数学模型,利用已经掌握的一些数据资料对该传染病进行有效地研究,以期对其传播蔓延进行必要的控制,减少人民生命财产的损失。
考虑如下的几个问题,建立适当的数学模型,并进行一定的比较分析和评价展望。
1、不考虑环境的限制,设单位时间内感染人数的增长率是常数,建立模型求t 时刻的感染人数。
2、假设单位时间内感染人数的增长率是感染人数的线性函数,最大感染时的增长率为零。
建立模型求t时刻的感染人数。
3、假设总人口可分为传染病患者和易感染者,易感染者因与患病者接触而得病,而患病者会因治愈而减少且对该传染病具有很强的免疫功能,建立模型分析t 时刻患病者与易感染者的关系,并对传染情况(如流行趋势,是否最终消灭)进行预测。
基于Matlab的传染病动力学模型仿真平台

基于Matlab 的传染病动力学模型仿真平台Simulation Platform of Epidemic Dynamics Model Based on MATLAB 摘要:开发了基于Matlab 的传染病动力学模型仿真平台,通过对传染病动力学模型进行动态仿真,可以对传染病动力学模型的变化进行观察和分析,同时在该仿真平台上,采用时滞微分方程、脉冲微分方程等数值算法实现对传染病模型进行数值模拟,是一个十分实用、方便的仿真操作平台。
关键字:传染病动力学模型;数值仿真;Matlab ;时滞微分方程Abstract :A simulation platform of epidemic dynamics model is developed by using Matlab.The simulation platform can be used in dynamics simulation of epidemic dynamics model,and the simulation could be used in results analysis.Based on the platform,Delay differential equations and impulsive differential equations of numerical algorithm can be used to numerical simulation of epidemic model and the multivariable control system simulation.Keywords :Epidemic Dynamics Model ,Numerical Simulation ,Matlab ,Delay Differential Equations1引言近年来,作为传染病研究的手段之一,利用计算机对传染病动力学模型进行数值仿真越来越受到人们的重视。
数学建模_传染病模型

数学建模_传染病模型第一篇:数学建模_传染病模型传染病模摘要: 本次实验是让同学们进一步了解、巩固、加强微分方程模型的建模、求解能力;学习掌握用MATLAB进行二维和三维基本图形绘制。
因为MATLAB具有很强的图形处理功能和丰富的图形表现方法。
它提供了大量的二维、三维图形函数,使得数学计算结果可以方便地、多样性地实现可视化,这是其它语言所不能比拟的。
MATLAB不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多样的。
MATLAB不仅具有高层绘图能力,而且还具有底层绘图能力——句柄绘图方法。
在面向对象的图形设计基础上,使得用户可以用来开发各专业的专用图形。
help graph2d可得到所有画二维、三维图形的命令。
描述传染病的传播过程,分析受感染人数的变化规律,预报传染病高潮到来的时刻,预防传染病蔓延的手段,按照传播过程的一般规律,用机理分析方法建立模型。
数学建模问题重述问题: 有一种传染病(如SARS、甲型H1N1)正在流行。
现在希望建立适当的数学模型,利用已经掌握的一些数据资料对该传染病进行有效地研究,以期对其传播蔓延进行必要的控制,减少人民生命财产的损失。
考虑如下的几个问题,建立适当的数学模型,并进行一定的比较分析和评价展望。
1、不考虑环境的限制,设单位时间内感染人数的增长率是常数,建立模型求t时刻的感染人数。
2、假设环境条件下所允许的最大可感染人数为。
单位时间内感染人数的增长率是感染人数的线性函数,最大感染时的增长率为零。
建立模型求t时刻的感染人数。
3、现有卫生防疫部门采集到的某地区一定时间内一定间隔区间的感染人数数据(见下表),利用该数据确定上述两个模型中的相关参数,并将它们的预测值与实际数据进行比较分析(计算仿真偏差)并对两个模型进行适当的评价。
(注:该问题中,设最大可感染人数为2000人)4、假设总人口可分为传染病患者和易感染者,易感染者因与患病者接触而得病,而患病者会因治愈而减少且对该传染病具有很强的免疫功能,建立模型分析t时刻患病者与易感染者的关系,并对传染情况(如流行趋势,是否最终消灭)进行预测。
matlab在SIS疾病传播模型中的应用(优质严选)

《数学实验》学院计算机与通信工程学院专业班级计1104姓名朱奇学号411551002013年 6月一 实验目的1.利用Matlab 软件求解SIS 传染病模型,熟悉Matlab 的使用二 选题介绍SIS 模型:有些传染病如伤风、痢疾等治愈后的免疫力很低,病人痊愈后仍然可能再次被传染成为病人。
用I(t)来表示感病者所占的比例,则易感者所占的比例为1-I(t);假设易感者感病的机会与他接触感病者的机会成正比,而易感者接触感病者的机会显然与易感者和感病者的人数成正比,设这一比例为k ,称为传染系数。
再假设感病者以固定的比率痊愈而成为易感者,记这一比率为h ,称为痊愈率,而1/h 表示疾病的平均传染期。
这时感病者的人数变化由两部分组成:一部分是易感者被传染而成为新的感病者,另一部分是感病者痊愈后重新成为易感者。
这样,相应的模型可归纳为dI=kI(1-I)-hI dt I(0)=I ⎧⎪⎪⎨⎪⎪⎩ 这个模型被称为SIS 模型。
三 实验过程=dI1=-kI I-1- dtI(0)=I λσμσ⎧⎪⎡⎤⎪⎛⎫⎨⎪⎢⎥⎝⎭⎣⎦⎪⎪⎩令,则模型可化为:当sigma>1时1定义函数function di=ganbing(t,i,k,sigma) di=-k*i*(i-(1-1/sigma))2 作图clear k=0.01; sigma=2;[t,i1]=ode45(@ganbing,[0,1000],0.9,[],k,sigma); [t,i2]=ode45(@ganbing,[0,1000],0.2,[],k,sigma); plot(t,i1,t,i2,t,1-1/sigma);title('\sigma>1时感病者比例与时间t 的关系'); xlabel('t');ylabel('I(t)');legend('I(0)>1-1/\sigma','I(0)<1-1/\sigma');1002003004005006007008009001000图一 σ>1时感病者比例与时间t 的关系tI (t )I(0)>1-1/σI(0)<1-1/σ由此可见,当σ>1时,永远也无法消除疾病,将趋近于 1-1/sigma 同理,当sigma=1时clear k=0.01; sigma=1;[t,i1]=ode45(@ganbing,[0,1000],0.9,[],k,sigma); plot(t,i1);title('图二 \sigma=1时感病者比例与时间t 的关系'); xlabel('t');ylabel('I(t)'); legend('\sigma=1')100200300400500600700800900100000.10.20.30.40.50.60.70.80.9图二 σ=1时感病者比例与时间t 的关系tI (t )σ=1当sigma<1时clear k=0.01; sigma=0.6;[t,i1]=ode45(@ganbing,[0,1000],0.9,[],k,sigma); plot(t,i1);title('图三 \sigma<1时感病者比例与时间t 的关系'); xlabel('t');ylabel('I(t)'); legend('\sigma<1')100200300400500600700800900100000.10.20.30.40.50.60.70.80.9图三 σ<1时感病者比例与时间t 的关系tI (t )σ<1由此可见,为了消除传染病,关键是要调整σ,使得σ ≤1,而σ=k/h ,因此可以采取以下措施:(1) 减小k ,即降低传染系数,所以病人需要隔离;(2) 缩短传染期,这需要改进医疗设施,发明新药物,改良治疗方法等四 实验总结通过本次实验,我进一步熟悉了Matlab 的使用,能够将Matlab 应用于数学建模中,从而解决实际问题;同时我也体会到了Matlab 的强大功能。
【数学】传染病传播及预防的数学模型

【关键字】数学传染病传播及预防的数学模型摘要:随着社会和经济的发展,医学水平能力渐渐得到提高,现今社会的医学水平已经能够有效地预防和控制许多传染病,但是仍然有一些传染病暴发或流行,危害人们的健康和生命。
人们也认识到定量地研究传染病的传播规律、为预测和控制传染病蔓延创造条件的重要性。
通过建立传染病的传播模型,可以了解传染病的扩散传播规律,为预测和控制传染病提供可靠、足够的信息。
传染病病毒是随时间演变的过程。
本文以微分方程的SIR模型为基础,分析传染病的扩散传播规律,建立动态模型。
应用传染病动力学模型来描述疾病发展变化的过程和传播规律,预测疾病发生的状态,评估各种控制措施的效果,为预防控制疾病提供最优决策依据, 维护人类健康与社会经济发展。
通过人数的规划,建立了传染病的微分方程模型,并用matlab 软件拟合出患者人数随着时间的变化的关系曲线,利用控制变量的方法,控制某些变量不变,改变其中某个变量,通过比较找出导致传染病的传染的主要因素,以便做出相应的措施。
本模型的关键在于把确诊患者、疑似患者、治愈者、死亡和正常人划分成可传染者和不可传染者两类人,辅加一些特殊的参数,如:传染率,治愈率等等,构成微分方程组,找出单位时间内正常人人数的变化,确诊患者人数的变化,疑似患者人数的变化,死亡者或治愈者(即退出系统者)的人数的变化,从而建立了微分方程模型。
在模型建立的基础上,通过matlab软件拟合出患者人数随时间变化的曲线关系图,分析图形,得出结果,从而找到解决问题的响应措施。
关键词:动力学模型微分方程模型控制变量matlab软件一、问题重述已知某种不完全确知的具有传染性病毒的潜伏期为到,病患者的治愈时间为天。
该病毒可通过直接接触、口腔飞沫进行传播、扩散,该人群的人均每天接触人数为r。
为了控制病毒的扩散与传播将该人群分为五类:确诊患者、疑似患者、治愈者、死亡和正常人,可控制参数是隔离措施强度p(潜伏期内的患者被隔离的百分数)。
数学建模中的传染病模型及其编程求解

数学建模中的传染病模型及其编程求解下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!引言传染病模型在数学建模中扮演着重要角色,通过对传染病的传播规律进行数学建模,可以帮助相关部门和医疗机构制定有效的防控策略。
用MATLab解决Novel Coronavirus问题模型

Novel Coronavirus 问题
通过传染病模型来描述传染病的过程,分析受感染人数的变化规律,预报传染病高潮的来临等,一直是研究人员所关注的课题。
(1)假设人群体的总数为N
(2)人群分为易感者和已感者两类,在t 时刻两类分别占比例为μ(t)和V(t)
(3)每个病人每天的有效接触的平均人数为常数λ,当正常人受到接触时变为感染者
(4)每天的治愈率(占病人数)为k
有了以上假设,可知,每天被感染的人数为λμ(t)Nv(t),每天被治愈的人数是kv(t),可以推算出每天的感染者人数为
N t kv t t v N dt
d N )()()(v -=μλ 由初值条件λ(t)+v(t)=1,初始时刻病人数为v(0) =b ,可列如下方程 ⎪⎩⎪⎨⎧=-=b
v N t kv t t v N dt d N )0()()()(v μλ
a 为感染率,k 为治愈率
(1)当λ=k=0.3时,可以发现感染者的比率是逐渐下降的,最终会趋于无穷
(2)当λ=0.3,k=0.15时,由结果可知,感染者的比率是逐渐上升趋于一个定值
以上分析是基于许多假设,所以只是一个理想化的模型,还有好多方面有待改进,比如:
(1)模型里假设病人每天接触易感者为λ常数。
因此,患者由于隔离等外在因素与易感者接触率符合...
(2)模型中的治愈率也是假设为一个常数k,没有考虑治疗经验随着治疗人数、时间t的关系...
(3)...
随着不同参数的实验,最终得到如下结论:
(1)当λ<=k 时,感染者的比率逐渐下降,最终趋于0;
(2)当λ>k 时,病人的比率取决于c 的大小,随着t 趋于无穷大不断上升,最终趋于一个定值λk v -=∞1)(。
传染病模型建模

传染病模型建模Company number:【0089WT-8898YT-W8CCB-BUUT-202108】对传染病的传播的研究摘要本文以常见传染病的传播为研究方向,并结合微分方程的知识建立传染病的传播与控制模型。
在模型的基础上,运用MATLAB软件拟合出患者人数与时间的关系曲线,从而能够从图中直观地对该病的传播作出分析并提出应对措施。
在问题一,我们把该地区人群分为五类:患者、疑似患者、治愈者、死亡者、正常人。
在对该传染病扩散与传播的控制模型的建立中,我们将疑似患者看作是潜伏期患者,主要考虑各项人数的增减情况,通过单位时间内正常人数的变化、单位时间内潜伏期患者人数的变化、单位时间内确诊患者人数的变化、单位时间内非参与者人数的变化联系建立微分方程模型。
在问题二、三中,利用所建立的微分方程模型代入给出的数据,从而用MATLAB拟合出各项人数随时间的变化曲线,分析所得图形及其合理性,得到有关该传染病的信息。
在问题四中,根据以上所建立的模型,提出相应的应对措施:一旦发现患病情况就及时去医院就诊;加大隔离措施强度;个人应养成良好的卫生习惯,勤洗手,多通风,减少与病菌的接触可能,适当锻炼来防止被传染。
关键词:传染病微分方程模型 MATLAB 曲线拟合应对措施目录一、问题重述1.1. 相关情况2013年,某种传染病的出现成为热点,尤其是其高致死率,引起了人们的恐慌,最近又有研究显示,这种传染病有变异的可能.现在假设有一种未知的病毒潜伏期为1a --2a 天,患病者的治愈时间为3a 天,假设该病毒可以通过人与人之间的直接接触,患者每天接触的人数为r ,因接触被感染的概率为λ (λ为感染率) .为了控制疾病的传播与扩散,将人群分成五类,患者、疑似患者、治愈者、死亡者、正常人.潜伏期内的患者被隔离的比例为p (为潜伏期内患者被隔离的百分数)。
1.2. 问题的提出 问题一:在合理的假设下建立该病毒扩散与传播的控制模型。
数学建模传染病模型

数学建模传染病的传播摘要:本文先根据材料提供的数据建立了指数模型,并且全面地评价了该模型的合理性与实用性。
而后对模型与数据做了较为扼要地分析了指数模型的不妥之处。
并在对问题进展较为全面评价的根底上引入更为全面合理的假设和建立系统分析模型。
运用联立微分方程组表达疫情开展过程中各类人的内在因果联系,并在此根底上建立方程求解算法结合1X明:传染病的传播问题MATLAB编程 ( 程序在附件二 ) 拟合出与实际较为符合的曲线并进展了疫情预测。
同时运用双线性函数模型对卫生部的措施进展了评价并给出建议以及指出建立一个真正能够预测以及能为预防和控制提供可靠、足够的信息的模型,这样做的困难本文的最后,通过本次建模过程中的切身体会,说明建立如 SARS预测模型之类的传染病预测模型的重要意义。
关键词:微分方程SARS数学模型感染率1问题的重述SARS〔 Severe Acute Respiratory Syndrome,严重急性呼吸道综合症 , 俗称:非典型肺炎〕是 21 世纪第一个在世界X围内传播的传染病。
SARS 的爆发和蔓延给我国的经济开展和人民生活带来了很大影响,我们从中得到了许多重要的经历和教训,认识到定量地研究传染病的传播规律、为预测和控制传染病蔓延创造条件的重要性。
请你们对 SARS的传播建立数学模型,具体要求如下:1)建立传染病传播的指数模型,评价其合理性和实用性。
2)建立你们自己的模型,说明为什么优于指数模型;特别要说明怎样才能建立一个真正能够预测以及能为预防和控制提供可靠、足够的信息的模型,这样做的困难在哪里?对于卫生部门所采取的措施做出评论,如:提前或延后 5 天采取严格的隔离措施,对疫情传播所造成的影响做出估计。
附件 1 提供的数据供参考。
3)说明建立传染病数学模型的重要性。
2定义与符号说明N,,,,,,,,,,,,,表示为SARS病人的总数;K〔感染率〕 ,,,,,,,,表示为平均每天每人的传染他人的人数;L,,,,,,,,,,,,,表示为每个病人可能传染他人的天数;ddtN(t) ,,,,,,,,,,表示为每天〔单位时间〕发病人数;N(t)-N(t-L) ,,,,,,,,, 表示可传染他人的病人的总数减去失去传染能力的病人数;t,,,,,,,,,,,,,表示时间;2R ,,,,,,,,,,,,表示拟合的均方差;3建立传染病传播的指数模型3.1 模型假设1)该疫情有很强的传播性,病人〔带菌者〕通过接触〔空气,食物,,, 〕将病菌传播给XX者。
2019新型冠状病毒SEIR模型求解及MATLAB软件实现

2019年底,一种新型冠状病毒袭击了中国武汉,随之蔓延到全国。
随着卫生设施的改善、医疗水平的提高以及人类文明的不断发展,诸如霍乱、天花等曾经肆虐全球的传染性疾病已经得到有效的控制,但是一些新的、不断变异着的传染病毒却悄悄向人类袭来。
长期以来,建立数学模型以描述疾病的传播过程从而寻找抑制传播的方法一直是科学家们探索的方向。
但是由于疾病传播的复杂性,仅能从一般的传播机理角度建立大致的传播模型,现介绍一种与这次实际情况较为接近的传染病传播模型——SEIR模型。
1 模型假设及符号说明(1)总人数N不变。
人群分为健康者、潜伏者、传染者和康复者四类。
t时刻四类人数量分别记为S(t),E(t),I(t)和R(t)。
(2)传染者的接触人数r;传染者传染概率b;潜伏者患病概率a;潜伏者接触人数r 2;潜伏者传染概率b 2;康复概率c。
(3)潜伏者有传染性概率。
2 SEIR模型建立及MATLAB软件实现2.1 SEIR模型建立由假设1显然有:Nt R t I t E t S =+++)()()()(建立关于S(t),E(t),I(t)和R(t)的四个方程:;)()()()()(22t t E t S b r t t rbSI t S t t S ∆-∆-=-∆+;)()()()()()()(22t t E t S b r t t aE t t I t rbS t E t t E ∆+∆-∆=-∆+;)()()()(t t cI t t aE t I t t I ∆-∆=-∆+.)()()(t t cI t R t t R ∆=-∆+记初始时刻的健康者、潜伏者、传染者和康复者的比例分别是)0(00>s s ,)0(00>e e ,)0(00>i i 和)0(00>r r ,则SEIR模型的方程可以写作:);()()()(22t e t s b r t rbsi dt t ds --=);()()()()(s )(22t e t s b r t ae t i t rb dtt de +-=()e()();di t a t ci t dt=-).()(t ci dtt dr =2.2 模型的MATLAB软件实现使用MATLAB软件对以上微分方程组进行求解代码如下:seir.m脚本,function y=seir(t,x);r=10;b=0.03;a=0.1;r_2=20;b_2=0.03;c=0.1;y=[r*b*x(1)*x(3)-r_2*b_2*x(1)*x(2),r*b*x(1)*x(3)-a*x(2)+r_2*b_2*x(1)*x(2),a*x(2)-c*x(3),c*x(3)]';End;seirun.m脚本,[t,x]=ode45('seir2',[0,160],[0.95 0.01 0.03 0.01]);%ode45是用来求解常微分方程的方法。
传染病模型SI、SIS、SIR

SI模型利用MATLAB求解传染病模型中的SI模型的解析解: 程序中a即λ,y即i>> y=dsolve('Dy=a*(y-y^2)','y(0)=y0')y =1/(1-exp(-a*t)*(-1+y0)/y0)画图:SI模型的i~t曲线设λ=1, i(0)=0.1>> y=dsolve('Dy=y-y^2','y(0)=0.1')y =1/(1+9*exp(-t))>> x=0:0.01:13;y=1./(1+9.*exp(-x));>> plot(x,y)title('SI模型的i~t曲线');xlabel('t');ylabel('i');axis([0 13 0 1.1]);画图:SI模型的di/dt~i曲线程序中x即i,y即di/dt,λ=1 >> x=0:0.01:1;y=x-x.*x;>> plot(x,y)title('SI模型的di/dt~i曲线'); xlabel('i');ylabel('di/dt');>>SIS模型利用MATLAB求解传染病模型中的SIS模型的解析解:程序中a即λ,b即μ,y即i>> y=dsolve('Dy=a*(y-y^2)-b*y','y(0)=y0')y =(a-b)/(a-exp(-(a-b)*t)*(-a+b+y0*a)/y0/(a-b)*a+exp(-(a-b)*t)*(-a+b+y0*a)/y0/(a-b) *b)画图:SIS模型的di/dt~i曲线(δ>1)程序中x即i,y即di/dt,λ=1,μ=0.3>> x=0:0.01:1;>> y=0.7.*x-x.^2;>> plot(x,y)title('SIS模型的di/dt~i曲线');xlabel('i');ylabel('di/dt');>>画图:SIS模型的i~t曲线(δ>1)设λ=1,μ=0.3,i(0)=0.02>> y=dsolve('Dy=0.7*y-y^2','y(0)=0.02') y =7/(10+340*exp(-7/10*t))>> x=0:1:16;>> y=7./(10+340.*exp(-7./10.*x));>> plot(x,y)title('SIS模型的i~t曲线'); xlabel('t');ylabel('i');>>画图:SIS模型的di/dt~i曲线(δ≤1)程序中x即i,y即di/dt,λ=0.5,μ=0.6 >> x=0:0.01:1;>> y=-0.5.*x.^2-0.1.*x;>> plot(x,y)title('SIS模型的di/dt~i曲线');xlabel('i');ylabel('di/dt');>>画图:SIS模型的i~t曲线(δ≤1)设λ=0.5,μ=0.6,i(0)=0.02>> y=dsolve('Dy=-0.5*y^2-0.1*y','y(0)=0.02') y =1/(-5+55*exp(1/10*t))>> x=0:1:40;>> y=1./(-5+55.*exp(1./10.*x));>> plot(x,y)title('SIS模型的i~t曲线');xlabel('t');ylabel('i');>>SIR模型利用MATLAB求解传染病模型中的SIR模型的数值解: 程序中a=λ=1, b=μ=0.3,i(0)=0.02,s(0)=0.98M文件中:function y=ill(t,x)a=1;b=0.3;y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]';命令窗口中:>> [t,x]=ode45('ill',[0:50],[0.02,0.98]);[t,x]ans =0 0.0200 0.98001.0000 0.0390 0.95252.0000 0.0732 0.90193.0000 0.1285 0.81694.0000 0.2033 0.69275.0000 0.2795 0.54386.0000 0.3312 0.39957.0000 0.3444 0.28398.0000 0.3247 0.20279.0000 0.2863 0.149310.0000 0.2418 0.114511.0000 0.1986 0.091712.0000 0.1599 0.076713.0000 0.1272 0.066514.0000 0.1004 0.059315.0000 0.0787 0.054316.0000 0.0614 0.050717.0000 0.0478 0.048018.0000 0.0371 0.046019.0000 0.0287 0.044520.0000 0.0223 0.043421.0000 0.0172 0.042622.0000 0.0133 0.041923.0000 0.0103 0.041524.0000 0.0079 0.041125.0000 0.0061 0.040826.0000 0.0047 0.040627.0000 0.0036 0.040428.0000 0.0028 0.040329.0000 0.0022 0.040230.0000 0.0017 0.040131.0000 0.0013 0.040032.0000 0.0010 0.040033.0000 0.0008 0.040034.0000 0.0006 0.039935.0000 0.0005 0.039936.0000 0.0004 0.039937.0000 0.0003 0.039938.0000 0.0002 0.039939.0000 0.0002 0.039940.0000 0.0001 0.039941.0000 0.0001 0.039942.0000 0.0001 0.039943.0000 0.0001 0.039944.0000 0.0000 0.039845.0000 0.0000 0.039846.0000 0.0000 0.039847.0000 0.0000 0.039848.0000 0.0000 0.039849.0000 0.0000 0.039850.0000 0.0000 0.0398 >> plot(t,x(:,1),t,x(:,2)),grid,pause i(t),s(t)图形如下:>> plot(x(:,2),x(:,1)),grid,pause i~s图形(相轨线)如下:画图:SIR模型的相轨线程序中y即i, x即s, λ=1,μ=0.3①s(0)=0.32;②s(0)=0.58;③s(0)=0.73;④s(0)=0.85>> x=0:0.01:1;>> y=1-x;>> y1=1-x+0.3.*(log(x)-log(0.32));>> y2=1-x+0.3.*(log(x)-log(0.58));>> y3=1-x+0.3.*(log(x)-log(0.73));>> y4=1-x+0.3.*(log(x)-log(0.85));>> plot(x,y,x,y1,x,y2,x,y3,x,y4)axis([0 1 0 1]);title('SIR模型的i~s曲线'); xlabel('s');ylabel('i');。
数学建模传染病模型讲解

传染病的传播摘要:本文先根据材料提供的数据建立了指数模型,并且全面地评价了该模型的合理性与实用性。
而后对模型与数据做了较为扼要地分析了指数模型的不妥之处。
并在对问题进行较为全面评价的基础上引入更为全面合理的假设和建立系统分析模型。
运用联立微分方程组体现疫情发展过程中各类人的内在因果联系,并在此基础上建立方程求解算法结合MATLAB 编程(程序在附件二)拟合出与实际较为符合的曲线并进行了疫情预测。
同时运用双线性函数模型对卫生部的措施进行了评价并给出建议以及指出建立一个真正能够预测以及能为预防和控制提供可靠、足够的信息的模型,这样做的困难本文的最后,通过本次建模过程中的切身体会,说明建立如SARS 预测模型之类的传染病预测模型的重要意义。
关键词:微分方程 SARS 数学模型 感染率1问题的重述SARS (Severe Acute Respiratory Syndrome ,严重急性呼吸道综合症, 俗称:非典型肺炎)是21世纪第一个在世界范围内传播的传染病。
SARS 的爆发和蔓延给我国的经济发展和人民生活带来了很大影响,我们从中得到了许多重要的经验和教训,认识到定量地研究传染病的传播规律、为预测和控制传染病蔓延创造条件的重要性。
请你们对SARS 的传播建立数学模型,具体要求如下:1)建立传染病传播的指数模型,评价其合理性和实用性。
2)建立你们自己的模型,说明为什么优于指数模型;特别要说明怎样才能建立一个真正能够预测以及能为预防和控制提供可靠、足够的信息的模型,这样做的困难在哪里?对于卫生部门所采取的措施做出评论,如:提前或延后5天采取严格的隔离措施,对疫情传播所造成的影响做出估计。
附件1提供的数据供参考。
3)说明建立传染病数学模型的重要性。
2 定义与符号说明N …………………………………表示为SARS 病人的总数;K (感染率)……………………表示为平均每天每人的传染他人的人数;L …………………………………表示为每个病人可能传染他人的天数;dt dN(t)………………………… 表示为每天(单位时间)发病人数;N(t)-N(t-L)………………………表示可传染他人的病人的总数减去失去传染能力的病人数;t …………………………………表示时间;R 2………………………………表示拟合的均方差; 3 建立传染病传播的指数模型3.1模型假设1) 该疫情有很强的传播性,病人(带菌者)通过接触(空气,食物,……)将病菌传播给健康者。
传染病传播模型(SIS)Matlab代码

传染病传播模型(SIS)Matlab代码function spreadingability=sir(A,beta,mu)for i=1:length(A)for N=1:50%随机次数InitialState=zeros(length(A),1);InitialState(i)=1;time=5;%传播时间I(N,:)=sire(A,InitialState,beta,mu,time);endspreadingability(i,1)=mean(mean(I));%节点i的传播能⼒endendfunction I=sire(A,InitialState,beta,mu,time)%******************************% A邻接矩阵% InitialState初始感染状态% beta感染率% mu恢复率% time传播时间%*****************************Infected=InitialState;recover=[];Infected_temp=zeros(size(Infected));for t=1:1:time %⼀共进⾏时长time的演化%%%若i是易感节点, 则对i以⼀定概率进⾏传染x1=find(Infected==0);a1=rand(size(x1));b1=beta*(A(x1,:)*Infected);%已经被感染的节点以⼀定概率去感染其他节点xx1=setdiff(find(a1<b1),recover);Infected_temp(x1(xx1))=1;%不是recover的节点以⼀定概率被感染xx2=setdiff(find(a1>=b1),recover);Infected_temp(x1(xx2))=0;%对不是recover且没被感染的其他节点保留易感状态%%%若i是染病节点, 则对i以⼀定概率进⾏移除(recover)x2=find(Infected==1); %如果是已经被感染的节点a2=rand(size(x2));xx3=find(a2<mu);%对染病节点以⼀定概率进⾏recoverrecover=[recover;xx3];%更新被recover节点;xx4=find(a2>=mu);Infected_temp(x2(xx4))=1;%余下未被recover的节点仍保留感染能⼒Infected=Infected_temp;I(t)=sum(Infected); %记录每个时间步的染病节点数量endend susceptible-infected-recovered(SIR)传染病模型常⽤来计算节点影响⼒标准测量。
(完整版)matlab传染病模型

传染病模型实验实验目的:理解传染病的四类模型,学会利用Matlab 软件求解微分方程(组)。
实验题目:利用Matlab 求解传染病的SIS 微分方程模型,并绘制教材P139页图3-图6。
SIS 模型假设:(1)、t 时刻人群分为易感者(占总人数比例的s (t ))和已感染者(占总人数比例的i (t ))。
(2)、每个病人每天有效接触的平均人数是常数λ,λ称为日接触率,当健康者与病人接触时,健康者受感染成为病人。
(3)、病人每天被治愈的占病人总数的比例为μ,称为日治愈率,显然这种传染病的平均传染期。
则建立微分方程模型为:令,则模型可写作分别作图:当sigma>1时Step1:先定义函数function y=pr1(i,lambda,sigma)y=-lambda.*i.*(i-(1-1./sigma))1μ为step2:作图lambda=0.3;sigma=2;i=0:0.01:1;y=pr1(i,lambda,sigma)plot(i,y)-0.02-0.04-0.06-0.08-0.1-0.12-0.14-0.1600.10.20.30.40.50.60.70.80.91当sigma<1时Step1:先定义函数function y=pr1(i,lambda,sigma)y=-lambda.*i.*(i-(1-1./sigma))step2:作图lambda=0.3;sigma=0.5;i=0:0.01:1;y=pr1(i,lambda,sigma)plot(i,y)-0.1-0.2-0.3-0.4-0.5-0.6-0.700.10.20.30.40.50.60.70.80.91当sigma=1时Step1:先定义函数function y=pr1(i,lambda,sigma)y=-lambda.*i.*(i-(1-1./sigma))step2:作图lambda=0.3;sigma=1;i=0:0.01:1;y=pr1(i,lambda,sigma)plot(i,y)-0.05-0.1-0.15-0.2-0.25-0.3-0.3500.10.20.30.40.50.60.70.80.91当sigma>1时Step1:先定义函数function di=crb(t,i,lambda,sigma)di=-lambda*i*(i-(1-1/sigma)) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%step2:求解并作图clcclearlambda=0.01;sigma=2;[t,i1]=ode45(@crb,[0,1000],0.9,[],lambda,sigma);[t,i2]=ode45(@crb,[0,1000],0.2,[],lambda,sigma);plot(t,i1,t,i2,t,1/2)legend('\sigma>1')>10.90.80.70.60.50.40.30.201002003004005006007008009001000当sigma=1时Step1:先定义函数function di=crb(t,i,lambda,sigma)di=-lambda*i*(i-(1-1/sigma)) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%step2:求解并作图clcclearlambda=0.01;sigma=1[t,i1]=ode45(@crb,[0,1000],0.9,[],lambda,sigma);plot(t,i1)legend('\sigma=1')=10.90.80.70.60.50.40.30.20.101002003004005006007008009001000当sigma<1时Step1:先定义函数function di=crb(t,i,lambda,sigma)di=-lambda*i*(i-(1-1/sigma)) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%step2:求解并作图clcclearlambda=0.01;sigma=0.5;[t,i1]=ode45(@crb,[0,1000],0.9,[],lambda,sigma);plot(t,i1)legend('\sigma<1')<1 10.80.60.40.2-0.201002003004005006007008009001000利用matlab求解上面SIS模型.提示(画图5程序):Step1:先定义函数function y=pr1(i,lambda,sigma)y=-lambda.*i.*(i-(1-1./sigma))step2:作图lambda=0.3;sigma=2;i=0:0.01:1;y=pr1(i,lambda,sigma)plot(i,y)提示(画图6程序):Step1:先定义函数function di=crb(t,i,lambda,sigma)di=-lambda*i*(i-(1-1/sigma)) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%step2:求解并作图clcclearlambda=0.01;sigma=0.2;[t,i]=ode45(@crb,[0,100],0.9,[],lambda,sigma);plot(t,i)legend('\sigma<1')实验指导书:利用matlab求下面定解问题,并作图dy2y(3y)ydxy(0)2程序f=@(x,y)(2*y*(3-y)-y);[x,y]=ode45(@(x,y)f(x,y),[0,10],0.9);plot(x,y)legend('数值解1');。
传染病模型与分析

《数学建模》实验报告实验名称 Matlab 微分方程的数值解 实验目的掌握用matlab 进行微分方程的数值解实验内容1. 对传染病模型⎪⎪⎩⎪⎪⎨⎧=-==-=00)0(,)0(,s s si dtds i i i si dtdiλμλ进行数值计算输出结果,并在同一坐标系中画出i (t ), s (t ) 的图形。
再画出i ~ s 的图形。
从数值结果和图形中分别可以得到什么结论? 2. 在传染病模型中,估计最终未被感染的健康者的比例∞s 与传染达到高峰时的m i ()10σ>s 。
给定不同的00,,,i s μλ,分别用0ln100=+-+∞∞s s s i s σ(1) )ln 1(1000s i s i m σσ+-+= (2)并分析所得结果。
模型传染病模型:⎪⎪⎩⎪⎪⎨⎧=-==-=00)0(,)0(,s s si dtds i i i si dtdiλμλ 程序第一题程序function y=ill(t,x)a=1;b=0.3;y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]'ts=0:50;x0=[0.02,0.98];[t,x]=ode45('ill',ts,x0);[t,x] plot(t,x(:,1),t,x(:,2)),grid,pause plot(x(:,2),x(:,1)),grid,第二题程序s0=[0.98,0.98,0.98,0.98,0.70,0.70,0.70,0.70]; i0=[0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02]; a=[1.0,0.6,0.5,0.4,1.0,0.6,0.5,0.4]; b=[0.3,0.3,0.5,0.5,0.3,0.3,0.5,0.5]; k=b./a s=0;s=solve('1-s+0.3*log(s/0.98)=0',s); vpa(s,4)im=1-0.3*(1+log(3.3*0.98))结果第一题结果第二题结果k =0.3000 0.5000 1.0000 1.2500 0.3000 0.5000 1.0000 1.2500 ans =.3994e-11.009im =0.3479>>结果的分析第一题结果分析第一个图像是)(t I,)(tS图像第二个图像是SI、的两图像的相轨图。
传染病模型建模

对传染病的传播的研究摘要本文以常见传染病的传播为研究方向,并结合微分方程的知识建立传染病的传播与控制模型。
在模型的基础上,运用MATLAB软件拟合出患者人数与时间的关系曲线,从而能够从图中直观地对该病的传播作出分析并提出应对措施。
在问题一,我们把该地区人群分为五类:患者、疑似患者、治愈者、死亡者、正常人。
在对该传染病扩散与传播的控制模型的建立中,我们将疑似患者瞧作就是潜伏期患者,主要考虑各项人数的增减情况,通过单位时间内正常人数的变化、单位时间内潜伏期患者人数的变化、单位时间内确诊患者人数的变化、单位时间内非参与者人数的变化联系建立微分方程模型。
在问题二、三中,利用所建立的微分方程模型代入给出的数据,从而用MATLAB拟合出各项人数随时间的变化曲线,分析所得图形及其合理性,得到有关该传染病的信息。
在问题四中,根据以上所建立的模型,提出相应的应对措施:一旦发现患病情况就及时去医院就诊;加大隔离措施强度;个人应养成良好的卫生习惯,勤洗手,多通风,减少与病菌的接触可能,适当锻炼来防止被传染。
关键词:传染病微分方程模型MATLAB 曲线拟合应对措施目录对传染病的传播的研究 (2)摘要 (2)一、问题重述 (4)1、1、相关情况 (4)1、2、问题的提出 (4)二、模型假设 (4)三、符号的约定与说明 (5)四、对问题一的解答 (5)4、1、问题分析 (5)4、2、模型准备 (6)4、3、模型的建立 (7)五、对问题二的解答 (7)5、1、问题分析 (7)5、2、模型的建立 (7)5、3、结果分析 (8)六、对问题三的解答 (8)6、1、问题分析 (8)6、2、模型的建立 (9)6、3、结果分析 (9)6、4、对隔离强度p的灵敏度分析 (10)七、对问题四的解答 (10)八、模型的评价及推广 (11)8、1、模型的优缺点 (11)8、2、模型的推广 (12)九、附录: (13)一、问题重述1.1. 相关情况2013年,某种传染病的出现成为热点,尤其就是其高致死率,引起了人们的恐慌,最近又有研究显示,这种传染病有变异的可能.现在假设有一种未知的病毒潜伏期为1a --2a 天,患病者的治愈时间为3a 天,假设该病毒可以通过人与人之间的直接接触,患者每天接触的人数为r ,因接触被感染的概率为λ (λ为感染率) .为了控制疾病的传播与扩散,将人群分成五类,患者、疑似患者、治愈者、死亡者、正常人.潜伏期内的患者被隔离的比例为p (为潜伏期内患者被隔离的百分数)。
基于MATLAB的文丘里模型和普通模型下鸡舍流感病毒的数字模拟和仿真

基于MATLAB的文丘里模型和普通模型下鸡舍流感病毒的数字模拟和仿真刘振宇;武志强;赫晓燕;李林葳;杨政【摘要】为有效解决当前鸡舍中禽流感等病毒和粉尘的传播问题,设计了一种新型的鸡舍笼架摆放模型,提出了一种以文丘里模型为基础的鸡舍模型.根据相关数学和统计学原理,建立流感病毒的数学模型,并利用MATLAB软件对新型文丘里鸡舍和普通鸡舍分层分向对病毒模型验证比较;利用Fluent软件对新型文丘里鸡舍模型进行分层风力场、温度场模拟仿真,结果表明,普通模型在感染病毒后鸡只全部死亡,新型文丘里模型在高约1.5 m处,鸡群成活率较高大约55%左右,其余高度处鸡群仍有存活.该模型能更好地改善和抑制病毒的传播,其风力场和温度场的分布有更好的规律性和可控性,在进行与普通的鸡舍笼架摆放相比,新型文丘里模型在风力场、温度场和病毒传播路径方面有更好的可控性和适用性.%In order to effectively solve the problem of the spread of avian influenza virus and dust in the hen-house,a new kind of bird cage model is designed,and a hen model based on the Venturi model is put forward.Ac-cording to the relevant mathematical and statistical principle, mathematical model of the influenza virus, and the new Venturi sheds and ordinary sheds hierarchical to virus model validation and compared by MATLAB software;using Fluent software on the new Venturi model sheds stratified position,wind temperature field simulation results show that the general model in infected chickens all the death of Venturi, the new model in the high of about 1.5 m,the chickens have higher survival rate of approximately 55%, remaining at the height of chickens is still alive.The model can betterimprove and inhibit the spread of the virus,the position of wind and temperature field distribution has better regularity and controllability,compared with ordinary chicken in the cage placed,new Ven-turi model has better controllability and adaptability in the wind position,temperature field and virus transmission path.【期刊名称】《科学技术与工程》【年(卷),期】2018(018)006【总页数】8页(P291-298)【关键词】鸡舍;鸡禽流感病毒;MATLAB软件仿真;文丘里模型;普通模型【作者】刘振宇;武志强;赫晓燕;李林葳;杨政【作者单位】山西农业大学信息科学与工程学院,太谷030801;山西农业大学工学院,太谷030801;山西农业大学动物科技学院,太谷030801;山西农业大学信息科学与工程学院,太谷030801;山西农业大学工学院,太谷030801【正文语种】中文【中图分类】TN391.9近年来鸡禽流感病毒已经成为鸡生产过程中致死杀伤力最大的一个因素。
MATLAB在网络传染病模拟中的应用

MATLAB在网络传染病模拟中的应用贾俊波【摘要】网络传染病是网络科学研究的一个重要课题,但由于疾病的特殊性,在人群中进行传染病试验是不可行的。
本文以简单网络传染病模型为例,介绍了使用MATLAB对模型进行随机模拟的原理以及过程,并且分步骤设计出了相应的MATLAB模拟程序,得到了网络传染病的随机模拟结果,从而为网络传染病模型的正确性提供了可行的验证方法。
【期刊名称】《数字技术与应用》【年(卷),期】2016(000)002【总页数】2页(P107-108)【关键词】复杂网络;MATLAB;网络传染病;随机模拟【作者】贾俊波【作者单位】中北大学理学院山西太原 030051【正文语种】中文【中图分类】O175随着信息技术的发展[1],人们步入了一个网络化的时代。
生产生活中的Internet网、信息通信网、社交朋友网、交通运输网、电力输送网、演员合作网、文章引用网等各种各样的复杂网络时时处处围绕在人们身边。
面对这些网络化的复杂系统,网络科学应运而生[2],它借用数学中图论的知识,将所研究的复杂系统抽象成由节点和节点之间的连边组成的网,从而进行研究。
比如Internet网就是将具有独立处理信息能力的计算机看作节点,计算机之间的连接看作连边。
社交朋友网就是将社会中的每个人看作节点,人与人之间的朋友关系看作连边。
网络传染病是网络科学中的一个重要研究课题[3],它将每个人看作网络中的节点,将人与人之间的接触看作网络节点之间的连边,从而具有传染性的疾病在人们之间的传播就可以用网络科学的方法来研究。
针对具体传染病的传播机制,以及所考虑网络的拓扑结构,网络科学专家建立了不同的网络传染病模型[4],用来研究疾病的传播情况和预测传染规模,从而采取相应的措施来控制疾病的蔓延。
但由于疾病的特殊性,疾病不能够在人群中进行试验,所建立模型的正确性不能通过试验得到验证,因此计算机的仿真或模拟对网络传染病的研究就显得尤为重要。
MATLAB是一个数值计算功能强大且易于编写程序的软件[5],本文以一个简单的网络传染病模型为例,具体研究了MATLAB在网络传染病模拟中的原理和实现过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
传染病模型实验
实验目的:
理解传染病的四类模型,学会利用Matlab软件求解微分方程(组)。
实验题目:
利用Matlab求解传染病的SIS微分方程模型,并绘制教材P139页图3-图6。
SIS模型
假设:
(1)、t时刻人群分为易感者(占总人数比例的s(t))和已感染者(占总人数比例的i(t))。
(2)、每个病人每天有效接触的平均人数是常数λ,λ称为日接触率,当健康者与病人接触时,健康者受感染成为病人。
(3)、病人每天被治愈的占病人总数的比例为μ,称为日治愈率,显然1
为这种传染病的平均传染期。
μ
则建立微分方程模型为:
令,则模型可写作
分别作图:
页脚内容1
当sigma>1时
Step1:先定义函数
function y=pr1(i,lambda,sigma)
y=-lambda.*i.*(i-(1-1./sigma))
step2:作图
lambda=0.3;sigma=2;
i=0:0.01:1;
y=pr1(i,lambda,sigma)
plot(i,y)
页脚内容2
页脚内容3
00.10.20.30.40.50.60.70.80.91
-0.16
-0.14-0.12-0.1-0.08-0.06-0.04-0.020
0.02
当sigma<1时 Step1:先定义函数
function y=pr1(i,lambda,sigma) y=-lambda.*i.*(i-(1-1./sigma)) step2:作图
lambda=0.3;sigma=0.5; i=0:0.01:1;
y=pr1(i,lambda,sigma) plot(i,y)
页脚内容4
00.10.20.30.40.50.60.70.80.91
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
当sigma=1时 Step1:先定义函数
function y=pr1(i,lambda,sigma) y=-lambda.*i.*(i-(1-1./sigma)) step2:作图
lambda=0.3;sigma=1; i=0:0.01:1;
y=pr1(i,lambda,sigma) plot(i,y)
页脚内容5
00.10.20.30.40.50.60.70.80.91
-0.35
-0.3
-0.25
-0.2
-0.15
-0.1
-0.05
当sigma>1时 Step1:先定义函数
function di=crb(t,i,lambda,sigma)
di=-lambda*i*(i-(1-1/sigma))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% step2:求解并作图 clc clear lambda=0.01;
页脚内容6
sigma=2;
[t,i1]=ode45(@crb,[0,1000],0.9,[],lambda,sigma); [t,i2]=ode45(@crb,[0,1000],0.2,[],lambda,sigma); plot(t,i1,t,i2,t,1/2) legend('\sigma>1')
01002003004005006007008009001000
0.2
0.30.40.50.60.70.80.9
当sigma=1时 Step1:先定义函数
function di=crb(t,i,lambda,sigma)
di=-lambda*i*(i-(1-1/sigma))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% step2:求解并作图
clc
clear
lambda=0.01;
sigma=1
[t,i1]=ode45(@crb,[0,1000],0.9,[],lambda,sigma);
plot(t,i1)
legend('\sigma=1')
页脚内容7
页脚内容8
100
200
300
400
500
600
700
800
900
1000
00.10.20.30.40.50.60.70.80.91
当sigma<1时 Step1:先定义函数
function di=crb(t,i,lambda,sigma)
di=-lambda*i*(i-(1-1/sigma))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% step2:求解并作图 clc clear lambda=0.01;
页脚内容9
sigma=0.5;
[t,i1]=ode45(@crb,[0,1000],0.9,[],lambda,sigma); plot(t,i1)
legend('\sigma<1')
01002003004005006007008009001000
-0.2
0.2
0.4
0.6
0.8
1
1.2
利用matlab 求解上面SIS 模型. 提示(画图5程序): Step1:先定义函数
function y=pr1(i,lambda,sigma)
y=-lambda.*i.*(i-(1-1./sigma))
step2:作图
lambda=0.3;sigma=2;
i=0:0.01:1;
y=pr1(i,lambda,sigma)
plot(i,y)
提示(画图6程序):
Step1:先定义函数
function di=crb(t,i,lambda,sigma)
di=-lambda*i*(i-(1-1/sigma))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% step2:求解并作图
clc
clear
lambda=0.01;
sigma=0.2;
[t,i]=ode45(@crb,[0,100],0.9,[],lambda,sigma);
页脚内容10
>> g1=[3,2;2,4;4,7];
页脚内容11 plot(t,i)
legend('\sigma<1')
实验指导书:
利用matlab 求下面定解问题,并作图
d 2(3)d (0)2
y y y y x y ⎧=--⎪⎨⎪=⎩ 程序
f=@(x,y)(2*y*(3-y)-y);
[x,y]=ode45(@(x,y)f(x,y),[0,10],0.9);
plot(x,y)
legend('数值解 1');。