在高中时除了物理竞赛没有学习外,竞赛的五大学科剩下的四门均有所涉猎及参加,因而精力分散太多。因此下定决心大学时可以广泛涉猎知识,但是主攻的竞赛只能有两个ACM和MCM,如今虽然高考完挂,但学术之心尚存,而SIR模型对我来说便是数学海洋中的一块拾贝
舆论的力量一向是被政府所重视的,所以在战时拥有自己的电台,掌握说话权是相当的重要。对于商人,他们希望他们促销打折的消息迅速的传播,同样对于普通百姓来说,家长里短,一个消息的传播往往是复杂而多变的,因此研究消息传播的一般规律显得尤为重要。现在我们迫切想知道一般来说对于一个消息,经过一段时间后能够有多少人得到它?
为方便讨论,做如下假设:初始时知道这个消息的人数为P0,经过时间t后知道这个消息的人数为f(t)。
我们先猜想下f(t)会有些什么性质?首先它是递增的---短期内如果不是患上阿尔兹海默症的人群的话,知道一个消息的人数只可能越来越多。其次可以预计当t趋向于正无穷时f(t)将会趋于一个定值---全人类的数目是有限的,当时间过得越长,消息的扩散也就趋于饱和,
尝试建立模型,假设每人单位时间内会接触k个人并将消息准确传播给这k个人,那么在△t内知道这一消息增加的人数为f(t+△t)-f(t),它又等于t时刻知道这一消息的所有人在△t这段时间内传播的人数,即可列出方程:f(t+△t)-f(t)=kf(t)* △t
由f(t+△t)≈f(t)+f’(t)* △t将上式改写成微分方程:df/dt =kf(t)
该方程属于可分离变量型,容易求出通解为f(t)=C*e^(kt)将f(0)=P0代入求出特解为:f(t)=P0*e^(kt)
突然我们发现,花了那么大力气竟然求出来一个无界的函数!!分析过程的每一步,我们发现,问题出在f(t)个人单位时间接触的k个人除了不知道这个消息的人外还有已经知道这个消息的即f(t)中的人,这就迫使我们另辟蹊径,即本文的主题SI模型。
设消息受众的总人数为N(例如某市百货商场打折这一消息的N就是该市的总人数)f(t)不再表示t时刻知道消息的人数,而是t时刻知道消息的人数占总人数N的比率,所以此时知道消息的人数表示成N*f(t),而不知道该消息的人数为N*(1-f(t)),这样建模的好处便是我们顺利分出了知道消息的人与不知道消息的人, 每人每天接触的k人里有k*f(t)是以前听过消息的,k*(1-f(t))人是以前没听过消息的
k的意义如前所述,因此在△t时间内知道该消息增加了N*[f(t+△t)-f(t)],类似于上面一个模型的讨论,只是k变成了k*(1-f(t)),f(t)成了N*f(t)得到:
N*[f(t+△t)-f(t)]=[k*(1-f(t))]*[ N*f(t)]* △t
对上式进行同样的处理得到微分方程:df/dt=k*[1-f(t)]*f(t)
等等这个微分方程怎么那么像混沌里面的虫口模型的方程?没错这个就是著名的逻辑蒂斯方程,只是在研究混沌现象时我们研究它的离散形式也就是差分方程,而这里我们研究的是微分方程,本质上是一样的。顺便一提,还记得高中生物书上说当种群没有受到食物,空间等因素的制约时是J型曲线,反之是S型曲线么?J型曲线对应的便是上面一个模型 ,而S型曲线即对应这里的逻辑蒂斯方程
这个微分方程是有解析解的,并且仍然属于可分离变量型的。结果很容易求,但由于百度空间传图不方便,自行脑补吧
然后就是这个模型最初的建立不是研究消息的传播,而是传染病的传播,因此除了SI模型外还有SIS(可治愈并被再次感染)SIR(可治愈并获得免疫不再被感染),其中SIR模型的微分方程无解析解,因此得用maltab进行分析,当然也可以用欧拉法自行画出微分方程的图。如今相关模型已经成为一门系统的学科即传染病动力学。

舆论的力量---数学建模初探(SI模型)的更多相关文章

  1. Python小白的数学建模课-B5. 新冠疫情 SEIR模型

    传染病的数学模型是数学建模中的典型问题,常见的传染病模型有 SI.SIR.SIRS.SEIR 模型. 考虑存在易感者.暴露者.患病者和康复者四类人群,适用于具有潜伏期.治愈后获得终身免疫的传染病. 本 ...

  2. Python小白的数学建模课-B6. 新冠疫情 SEIR 改进模型

    传染病的数学模型是数学建模中的典型问题,常见的传染病模型有 SI.SIR.SIRS.SEIR 模型. SEIR 模型考虑存在易感者.暴露者.患病者和康复者四类人群,适用于具有潜伏期.治愈后获得终身免疫 ...

  3. Python小白的数学建模课-B4. 新冠疫情 SIR模型

    Python小白的数学建模课-B4. 新冠疫情 SIR模型 传染病的数学模型是数学建模中的典型问题,常见的传染病模型有 SI.SIR.SIRS.SEIR 模型. SIR 模型将人群分为易感者(S类). ...

  4. Python小白的数学建模课-09 微分方程模型

    小白往往听到微分方程就觉得害怕,其实数学建模中的微分方程模型不仅没那么复杂,而且很容易写出高水平的数模论文. 本文介绍微分方程模型的建模与求解,通过常微分方程.常微分方程组.高阶常微分方程 3个案例手 ...

  5. Matlab与数学建模

    一.学习目标. (1)了解Matlab与数学建模竞赛的关系. (2)掌握Matlab数学建模的第一个小实例—评估股票价值与风险. (3)掌握Matlab数学建模的回归算法. 二.实例演练. 1.谈谈你 ...

  6. Python小白的数学建模课-16.最短路径算法

    最短路径问题是图论研究中的经典算法问题,用于计算图中一个顶点到另一个顶点的最短路径. 在图论中,最短路径长度与最短路径距离却是不同的概念和问题,经常会被混淆. 求最短路径长度的常用算法是 Dijkst ...

  7. Python小白的数学建模课-10.微分方程边值问题

    小白往往听到微分方程就觉得害怕,其实数学建模中的微分方程模型不仅没那么复杂,而且很容易写出高水平的数模论文. 本文介绍微分方程模型边值问题的建模与求解,不涉及算法推导和编程,只探讨如何使用 Pytho ...

  8. Python小白的数学建模课-12.非线性规划

    非线性规划是指目标函数或约束条件中包含非线性函数的规划问题,实际就是非线性最优化问题. 从线性规划到非线性规划,不仅是数学方法的差异,更是解决问题的思想方法的转变. 非线性规划问题没有统一的通用方法, ...

  9. Python小白的数学建模课-15.图论基本概念

    图论中所说的图,不是图形图像或地图,而是指由顶点和边所构成的图形结构. 图论不仅与拓扑学.计算机数据结构和算法密切相关,而且正在成为机器学习的关键技术. 本系列结合数学建模的应用需求,来介绍 Netw ...

随机推荐

  1. Smart 组件 vs Dumb 组件

    大家已经知道,只会接受 props 并且渲染确定结果的组件我们把它叫做 Dumb 组件,这种组件只关心一件事情 —— 根据 props 进行渲染. Dumb 组件最好不要依赖除了 React.js 和 ...

  2. spring mvc支持跨域请求

    @WebFilter(urlPatterns = "/*", filterName = "corsFilter") public class CorsFilte ...

  3. AJPFX分享eclipse自动生成java注释方法

    设置方法介绍:eclipse中:Windows->Preferences->Java->Code Style->Code Template->Comments,然后对应的 ...

  4. 【学习笔记】彻底理解JS中的this

    首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话有些问题,后面会解释为什么会有问题,虽然 ...

  5. Android学习笔记--Intent

    Intent是android四大组件之间交互的一种重要方式.Intent可以指明当前要执行的动作,也可以指明要传递的数据.Intent可以用来启动活动,启动服务,发送广播. Intent分为两种:1. ...

  6. Javaweb学习笔记6—EL表达式与JSTL及自定义标签

    今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps: ...

  7. iOS 如何使用TabbarController

    xcode中给我内置很多app模版,不过很多时候我们需要更加灵活的初始化项目.下面我就简单介绍一下,如何从0开始制作一个tabbar app. 创建个项目,由于我们从头开始写程序,因此理论上对模版没有 ...

  8. Ubuntu 16.04 LTS: apt-get update 失败处理 Aborted (core dumped)

    在Ubuntu 16.04运行sudo apt-get update出现如下错误: rogn@ubuntu:~$ sudo apt-get update Get:1 http://us.archive ...

  9. String s = “1a2a3a4a” 解码为 “1234”

    将字符串 String s = “1a2a3a4a”  解码为 “1234” public class Program2 { public static void main(String[] args ...

  10. HTML基础(五)表单

    表单的工作原理 简单来说就是客户在浏览器输入信息之后,浏览器将用户在表单中的数据进行打包发送给服务器,服务器接收到之后进行处理,如下图 语法 <form> 表单元素</form> ...