资源简介
自己编写的matlab程序,用于生成BA网络并画度分布的双对数图,
代码片段和文件信息
function [ output_args ] = Untitled( input_args )
%UNtitleD Summary of this function goes here
% Detailed explanation goes here
%%% 从已有的m0个节点的网络开始,采用增长机制与优先连接的机制生成BA无标度网络
%% A ——————返回生成网络的邻接矩阵
m0=input(‘未增长前的网络节点个数m0: ‘);
m=input(‘ 每次引入的新节点时新生成的边数m: ‘);
N=input(‘增长后的网络规模N: ‘);
disp(‘初始网络时m0个节点的连接情况:1表示都是孤立;2表示构成完全图;3表示随机连接一些边‘);
pp=input(‘初始网络情况1,2或3: ‘);
if m>m0
disp(‘输入参数m不合法‘);
return;
end
x=100*rand(1m0);
y=100*rand(1m0);
switch pp
case 1
A=zeros(m0);
case 2
A=ones(m0);
for i=1:m0
A(ii)=0;
end
case 3
for i=1:m0
for j=i+1:m0
p1=rand(11);
if p1>0.5
A(ij)=1;A(ji)=0;
end
end
end
otherwise
disp(‘输入参数pp不合法‘);
return;
end
for k=m0+1:N
M=size(A1);
p=zeros(1M);
x0=100*rand(11);y0=100*rand(11);
x(k)=x0;y(k)=y0;
if length(find(A==1))==0
p(:)=1/M;
else
for i=1:M
p(i)=length(find(A(i:)==1))/length(find(A==1));
end
end
pp=cum
评论
共有 条评论