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);
end
spreadingability(i,1)=mean(mean(I));%节点i的传播能力
end
end
function 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);%对染病节点以一定概率进行recover
recover=[recover;xx3];%更新被recover节点;
xx4=find(a2>=mu);
Infected_temp(x2(xx4))=1;%余下未被recover的节点仍保留感染能力
Infected=Infected_temp;
I(t)=sum(Infected); %记录每个时间步的染病节点数量 end end

  susceptible-infected-recovered(SIR)传染病模型常用来计算节点影响力标准测量。在SIR模型中,节点有三个状态:易感者(susceptible),感染者(infected),恢复者(recovered)。易感者能够被感染者染病,感染者染病且有感染易感者的能力,恢复者由感染者恢复而成,不再具备感染能力同时也不会再被感染。传染病模型参数有恢复率μ,传染概率β,重复仿真次数T,仿真时间timespace。仿真过程如下:选择网络中一个节点i作为感染者节点,以传染概率β向i连接的邻居易感者节点传染病毒,被染病的节点继续以β的概率向他们的邻居易感者节点传染。同时每个染病节点在每阶段以μ的概率转变成恢复节点。当μ=0时,网络中只存在感染者和易感者,此时模型被称为Susceptible-infected(SI)模型。仿真结束后,可以得到每个节点i的传染能力Si

其中ki(t)表示节点第t次仿真时传染的节点个数,网络中节点传染能力S=[S1,S2,…,SN]

2018/11/20 更新:经过网友的指正,需要说明的是下面的代码是SIS传染病模型,recover节点仍具有再次被感染的能力。和SIR模型中recover节点不再被感染还是有区别的

传染病传播模型(SIS)Matlab代码的更多相关文章

  1. 数学建模python matlab 编程(疾病传播模型)

    例12:一只游船上有800(1000)人,一名游客不慎患传染病,12(10)小时后有3人发病,由于船上不能及时隔离,问经过60(30)小时,72小时,患此病的人数.(与人口模型和Logistic模型类 ...

  2. 多分类问题中,实现不同分类区域颜色填充的MATLAB代码(demo:Random Forest)

    之前建立了一个SVM-based Ordinal regression模型,一种特殊的多分类模型,就想通过可视化的方式展示模型分类的效果,对各个分类区域用不同颜色表示.可是,也看了很多代码,但基本都是 ...

  3. 调试和运行matlab代码(源程序)的技巧和教程

    转载请标明出处:专注matlab代码下载的网站http://www.downma.com/ 本文主要给大家分享使用matlab编写代码,完成课程设计.毕业设计或者研究项目时,matlab调试程序的技巧 ...

  4. 数据分析处理之PCA OLSR PCR PLSR(NIPALS)及其Matlab代码实现

    传统的OLS(普通最小二乘)方法无法解决样本数据的共线性(multicollinearity)问题,如果你的数据样本中每个特征变量具有共线性,那么使用基于PCA的PCR和PLSR方法对数据样本进行回归 ...

  5. 如何加速MATLAB代码运行

    学习笔记 V1.0 2015/4/17 如何加速MATLAB代码运行 概述 本文源于LDPCC的MATLAB代码,即<CCSDS标准的LDPC编译码仿真>.由于代码的问题,在信息位长度很长 ...

  6. 卷积相关公式的matlab代码

    取半径=3 用matlab代码实现上式公式: length=3;for Ki = 1:length for Kj = 1:length for Kk = 1:length Ksigma(Ki,Kj,K ...

  7. JAVA调用matlab代码

    做实验一直用的matlab代码,需要嵌入到java项目中,matlab代码拼拼凑凑不是很了解,投机取巧采用java调用matlab的方式解决. 1.    matlab版本:matlabR2014a ...

  8. 直方图均衡化与Matlab代码实现

    昨天说了,今天要好好的来解释说明一下直方图均衡化.并且通过不调用histeq函数来实现直方图的均衡化. 一.直方图均衡化概述 直方图均衡化(Histogram Equalization) 又称直方图平 ...

  9. 将labelme 生成的.json文件进行可视化的代码+label.png 对比度处理的matlab代码

    labelme_to_dataset 指令的代码实现: show.py文件 #!E:\Anaconda3\python.exe import argparse import json import o ...

随机推荐

  1. dj 分页器组件

    django内置的分页器组件,能够帮我们实现对查询的数据进行自动分页,并返回分页对象 from django.core.paginator import Paginator, EmptyPage Pa ...

  2. java se的那些细节

    局部变量:方法体内或语句块内,不能有修饰符 成员变量:与类的对象共存,可以有修饰符 类属性:与类共存,可以有修饰符 一.局部变量:必须先赋值,才能使用,如果不赋初值,则会报错,即没有默认的始使值,而基 ...

  3. 乌龙之MySQL slave IO status:connecting

    搭建了一个主从,状态一直如下: 检查错误日志报错如下: review搭建过程,语法并没有问题. 检查用户及网络,也没有问题: so?what is the cause ? 等等....貌似上面搭建用的 ...

  4. org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0

    Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/Ma ...

  5. Zookeeper C++编程实战之配置更新

    CZookeeperHelper:https://github.com/eyjian/libmooon/blob/master/include/mooon/net/zookeeper_helper.h ...

  6. 延时、输入输出接口P0~P3

    1.寄存器 为了知道延时程序是如何工作的,我们必需首先了解延时程序中出现的一些符号,就从R1开始,R1被称之为工作寄存器.什么是工作寄存器呢?让我们从现实生活中来找找答案.如果出一道数学题:123+5 ...

  7. windows下解决numpy, scipy等库安装失败的方法

    如果pip安装scipy库失败,可以参考以下方法: scipy官方上提供了这样的方法: Windows packages Windows does not have any package manag ...

  8. noip第4课作业

    1.    计算邮资 [问题描述] 根据邮件的重量和用户是否选择加急计算邮费.计算规则:重量在1000克以内 (包含1000克),基本费8元.超过1000克的部分,每500克加收超重费4元,不足500 ...

  9. ScheduledExecutorService的使用

    http://407827531.iteye.com/blog/1329597 ScheduledExecutorService接口 在ExecutorService的基础上,ScheduledExe ...

  10. kafka参数

    转载地址http://debugo.com/kafka-params/ ############################# System ########################### ...