将网络规模减小,可以逐步观察BA无标度网络的生成过程:
function BA2(m0,M0,t,m)
%m0=3,M0=3,t=8,m=2
figure
%-------------------------------------------------
A = regular(m0,M0,t);
%--------------------------------------------------
for i = m0+1:m0+t
x = i;
B = P_degree(A,i-1);
for j = 1:m
p = rand();
y = Choosevertex(p,B);
while A(x,y) == 1 || x-y == 0
p = rand();
y = Choosevertex(p,B);
end
A(x,y) = 1;
A(y,x) = 1;
end
end
%---------------------------------------------------
w = [0 -1 1 2 2 -2 -2 0 3 0 -3];
W = [1 -1 -1 2 -2 2 -2 3 0 -3 0];
for i = 1:t
subplot(2,4,i)
AA = A(1:m0+i,1:m0+i);
AAA = A(1:m0+i-1,1:m0+i-1);
C = graph(AA,'upper');
CC = graph(AAA,'upper');
D = degree(CC);
e = max(D);
g = m0+i;
h = plot(C,'Layout','force');
h.XData = w(1,1:m0+i);
h.YData = W(1,1:m0+i);
for j = 1:e
f = find(D>=j)';
highlight(h,f,'MarkerSize',7+3*j,'Node