资源简介
模拟SIR信息传播模型的CP过程的仿真程序。SIR模型是基于传染病动力学的信息传播模型。
代码片段和文件信息
function [ ss ii rr ] = CPSIR( DegreeBetaSourse_IDTppvv )
% 刻画SIR模型
% 返回[ssiirr]
% ss表示每一时刻传播节点的密度
% ii表示每一时刻未感染节点的密度
% rr表示每一时刻免疫节点的密度
% 输入变量的含义:
% Degree---------度分布矩阵
% Beta------------传播概率矩阵
% links------------全边矩阵
% Sourse_ID---------源传播节点
N = length(Degree);
A = zeros(N3);%产生一个N行3列的零矩阵存储节点状态第一列为传播状态,第二列为未感染状态,第三列为免疫状态
A(Sourse_ID1) = 1;%假设第一个节点为传播节点
for e = 1:N
if e ~=Sourse_ID
A(e2)=1;
end
end
% p1 = 0.09;
p2=pp;%免疫概率
v=vv;%传播自然转移为免疫的速度
ss = zeros(1T);%产生一个1行T列的零矩阵,存储传播节点密度
ii = zeros(1T);
rr = zeros(1T);
for t = 1:T
disp(num2str(t));
S = 0;%传播节点数量
I = 0;
R = 0;
for i = 1:N
S = S + A(i1);
I = I + A(i2);
R = R + A(i3);
end
ss(1t) = S/N;
ii(1t) = I/N;
rr(1t) = R/N;
%%
%对节点遍历,根据传播规则进行交互
for i = 1:N
%如果节点i为传播节点,且它的度大于0
if Degree(i)>0 && A(i1) == 1
%确定节点i在Beta矩阵中的最开始那行的id(i_uplimit)
i_uplimit = 1;
if i == 1 %将序号为1的特殊处理
i_uplimit = 1;
else
for j = 2:i
i_uplimit = i_uplimit + Degree(j-1);
end
end
%contact process CP接触过程,每一时刻只与一个邻居交互
rand_nei = randi(Degree(i) 1) + i_uplimit -1;%找出该邻居的编号
%判断该邻居是未感染节点,则进行传播
if A(Beta(rand_nei2)2)==1
a = rand();
if a A(Beta(rand_nei2)1) = 1;
A(Beta(rand_nei2)2) = 0;
end
end
if A(Beta(rand_nei2)3)==1 || A(Beta(rand_nei2)1)==1%Beta(k1)表示的是Beta矩阵中第k行第一列的节点id
b = rand();
if b A(i3) = 1;
A(i1) = 0;
end
end
end
end
%%
%传播节点可有较小概率自然衰减成免疫节点
for i = 1:N
if A(i1) ==1
c =rand();
if c A(i3) = 1;
A(i1) = 0;
end
end
end
end
% plot(ss‘+-‘);
% hold on;
% plot(ii‘*‘);
% plot(rr‘.‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2603 2012-09-29 08:55 CPSIR.m
- 上一篇:matlab实现ID3 决策树算法
- 下一篇:三种元胞自动机模拟交通流的程序
相关资源
- matlab实现ID3 决策树算法
- matlab实现的标准大气模型
- Gammatone人耳滤波器
- MATLAB信号处理 、频谱分析、汉宁窗函
- fattal算法的梯度域实现色调映射(G
- 贝叶斯网络(BNT)结构和参数的学习
- matlab实现的对统计数据进行威布尔分
- 数字下变频器的matlab仿真
- QR识别和译码matlab程序
- 拉曼光纤激光器超连续谱(superconti
- 路径损耗模型
- matlab实现混合蛙跳算法(SFLA)代码
- SOMP算法代码
- LTE energy and spectrum efficiency
- 信号的功率谱香农熵和功率谱指数熵
- LMS RLS CMA 自适应均衡算法matlab仿真
- 四元数分解的点云配准
- 灰度图和彩色图都能用的双边滤波(
-
电力机车牵引(HXD3)simuli
nk仿真模 - 用于图像的区域分裂和合并的matlab源
- 很好的matlab libsvm应用案例( heart_sc
- matlab水果识别程序
- 含统一潮流控制器(UPFC)的IEEE9 sim
-
混合动力汽车HEV的simuli
nk仿真模型 - KSVD OMP处理图像的程序
- 研究自动导引车系统控制器设计与调
- 时间反转镜的源程序
- HoG SVm 人脸识别方
- matlab仿真的载波同步算法-Fitz算法
- 超宽带TOA定位卡尔曼滤波定位算法m
评论
共有 条评论