matlab程序:NW 小世界网络

目录

NW 小世界网络

构造算法:

        Matlab 代码


NW 小世界网络

构造算法:

(1)从规则图开始。考虑一个含有N个点的最近邻耦合网络,它们围成一个环,其中每个节点都与它左右相邻的个K/2节点相连,K为偶数;

(2)随机化加边。以概率为p随机选取的一对节点之间加一条边。其中,任意两个不同的节点之间至多只能有一条边,并且每一个节点都不能有边与自身相连。

当p足够小或N足够大时,NW小世界模型本质上等同于WS小世界网络

Matlab 代码

clc,clear,hold on 
N = 15; K = 4; p = 0.1;         %N为网络节点总数,K为邻域节点个数,t为随机化加边概率
t = 0:2*pi/N:2*pi-2*pi/N;       %生成最近邻耦合网络各节点坐标的参数方程的角度
x = 100*sin(t); y = 100*cos(t);
plot(x,y,'ko','MarkerEdgeColor','k','MarkerFaceColor','k','markersize',6);
A = zeros(N);   %邻接矩阵初始化
for i = 1:N
    for j = i+1:i+K/2
        jj = (j<=N)*j+(j>N)*mod(j,N);       %如果j超过了N,取除以N的余数
        A(i,jj) = 1; A(jj,i) = 1;
    end
end
B = rand(N); B = tril(B);       %产生随机数,并截取下三角部分
C = zeros(N); C(B>=1-p) = 1; C = C+C';      %C对应新产生边的完整邻接矩阵
A = A |C;    %做逻辑或运算,产生加边以后的邻接矩阵
for i = 1:N-1
    for j = i+1:N
        if A(i,j)~=0
            plot([x(i),x(j)],[y(i),y(j)],'linewidth',1.2);
        end
    end
end
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值