基本信息
源码名称:WS小世界模型(matlab代码)
源码大小:1.03KB
文件格式:.m
开发语言:MATLAB
更新时间:2020-04-10
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
WS小世界模型建模

N=input('请输入最近邻耦合网络中节点的总数N:');

 

K=input('请输入最近邻耦合网络中每个节点的邻居数K:');

 

if K>floor(N-1)|mod(K,2)~=0;

disp('参数输入错误:K值必须是小于网络节点总数且为偶数的整数');

return ;

end

 

angle=0:2*pi./N:2*pi-2*pi/N;

angle=0:2*pi/N:2*pi-2*pi/N;

x=100*sin(angle);绘制分散角度间隔

y=100*cos(angle); 绘制分散角度间隔

plot(x,y,'ro','MarkerEdgeColor','g','MarkerFaceColor','r','MarkerSize',8);绘图

 

hold on;

A=zeros(N);

for i=1:N

for j=i 1:i K/2

jj=j;

if j>N

jj=mod(j,N);

end绘治点

A(i,jj)=1;

A(jj,i)=1;

end

end

 

%WS小世界网络的代码

p=input('请输入随机化重连的概率p:');

for i=1:N

    for j=i 1:i K/2

        jj=j;

        if j>N

            jj=mod(j,N);

        end

        p1=rand(1,1);

        if p1<p

            A(i,jj)=0;A(jj,i)=0;A(i,i)=inf;a=find(A(i,:)==0);

            rand_data=randi([1,length(a)],1,1);

            jjj=a(rand_data);A(i,jjj)=1;A(jjj,i)=1;A(i,i)=0;

        end

    end

end

 

for i=1:N

for j=i 1:N

if A(i,j)~=0

plot([x(i),x(j)],[y(i),y(j)],'linewidth',1.2);

hold on;

end

end

end

axis equal;

hold off