資源簡介
最經典的小世界網絡WS的matlab源程序,主要用于生成網絡。
代碼片段和文件信息
function?A=WS_net()
%%%?從有N個節點,每個節點有2K個鄰居節點的最近鄰耦合網絡圖通過隨機化重連生成WS小世界網路
%%?A?——————返回生成網絡的鄰接矩陣
disp(‘該程序生成WS小世界網路:‘);
N=input(‘請輸入最近鄰耦合網絡中節點的總數N:‘);
K=input(‘請輸入最近鄰耦合網絡中每個節點的鄰居節點的個數的一半K:‘);
p=input(‘請輸入隨機化重連的概率p:‘);
if?K>floor(N/2)
????disp(‘輸入的K值不合法‘)
????return;
end
angle=0:2*pi/N:2*pi-2*pi/N;??%%生成最近鄰耦合網絡的各節點坐標
x=100*sin(angle);
y=100*cos(angle);
plot(xy‘ro‘‘MarkerEdgeColor‘‘g‘‘MarkerFaceColor‘‘r‘‘markersize‘8);
hold?on;?
A=zeros(N);
for?i=1:N
????for?j=i+1:i+K
????????jj=j;
????????if?j>N
????????????jj=mod(jN);
????????end
??????A(ijj)=1;?A(jji)=1;?????%%生成最近鄰耦合網絡的鄰接矩陣
????end
end
for?i=1:N
????for?j=i+1:i+K
????????jj=j;
????????if?j>N
????????????jj=mod(jN);
????????end
????????p1=rand(11);
????????if?p1
評論
共有 條評論