无标度网络SIS模型传播代码.docxVIP

  • 17
  • 0
  • 约2.96千字
  • 约 4页
  • 2020-06-01 发布于云南
  • 举报
%网络版 function Spreading_in__Networks_SIS2() clear all; clc; M=300;N=6; beta1=0; delta1=0.4 %N个节点在M时刻的感染比例, p_state=zeros(N,M); q_state=zeros(2*N,M); format long; %迭代的步长 step=0.025; L1=BA_net(N); %先把laplacian矩阵处理为邻接矩阵 for i=1:N L1(i,i)=0; end L1=-L1; %初始函数 p_state(:,1)=matix(N,0.2); q1=1; for i=1:N for j=1:N q1=q1*(1-L1(i,j)*p_state(j,1)*beta1); end q_state(i,1)=q1; end p_11=zeros(1,length(step:step:1)); k=1; for beta1=step:step:1 for t=2:M for i=1:N p_state(i,t)= (1-p_state(i,t-1))*(1-q_state(i,t-1))+(1-delta1)*p_state(i,t-1); end for i=1:N q1=1; for j=1:N q1=q1*(1-L1(i,j)*p_state(j,t)*beta1); end q_state(i,t)=q1; end end p1=0; for i=1:N p1=p1+p_state(i,M); end p_11(1,k)=p1/N; k=k+1; %把数据清掉,只留下第一个初始矩阵的值,这个很重要。 p_state(:,2:M)=0; q_state(:,2:M)=0; end h=plot(step:step:1,p_11,r-o); set(h,LineWidth,2); set(gca,FontSize,12); set(get(gca,XLabel),FontSize,18); set(get(gca,YLabel),FontSize,18); end %生成无标度网络 function A=BA_net(num) %%% 从已有的m0个节点的网络开始,采用增长机制与优先连接的机制生成BA无标度网络 %% A ——————返回生成网络的邻接矩阵 % m0=input(未增长前的网络节点个数m0: ); % m=input( 每次引入的新节点时新生成的边数m: ); % N=input(增长后的网络规模N: ); % disp(初始网络时m0个节点的连接情况:1表示都是孤立;2表示构成完全图;3表示随机连接一些边); % pp=input(初始网络情况1,2或3: ); m0=2; m=2; N=num; pp=2; if mm0 disp(输入参数m不合法); return; end x=100*rand(1,m0); y=100*rand(1,m0); switch pp case 1 A=zeros(m0); case 2 A=-ones(m0); for i=1:m0 A(i,i)=0; end case 3 for i=1:m0 for j=i+1:m0 p1=rand(1,1); if p10.5 A(i,j)=1;A(j,i)=0; end end end otherwise dis

文档评论(0)

1亿VIP精品文档

相关文档