您现在的位置是:主页 > news > 大连做网站比较好的/南宁网络推广品牌
大连做网站比较好的/南宁网络推广品牌
admin2025/6/10 18:51:41【news】
简介大连做网站比较好的,南宁网络推广品牌,成都科技网站建设电话多少,邯郸的互联网公司function [p,A]randomgraph()function suijitu()disp(随机图生成策略1,2,3或4)disp(1表示 与均匀随机数比较法,总共生成的边数为N*(N-1)/2*alph);disp(2表示 概率排序法,总共生成的边数为N*(N-1)/2*alph,并以一定的较小的概率对边随机化重连);disp(3表示…
function [p,A]=randomgraph()
function suijitu()
disp('随机图生成策略1,2,3或4')
disp('1表示 与均匀随机数比较法,总共生成的边数为N*(N-1)/2*alph');
disp('2表示 概率排序法,总共生成的边数为N*(N-1)/2*alph,并以一定的较小的概率对边随机化重连');
disp('3表示 与均匀随机数比较,但不要求总共的边数为N*(N-1)/2*alph');
disp('4表示 赌轮法,总共生成的边数为N*(N-1)/2*alph');
pp=input('请输入随机图生成策略1,2,3或4:');
% N=input('网络图中节点的总数目N:');
% alph=input('网络图中边的平均连接度alph: ');
% beta=input('表征边的平均长度的参数beta: ');
N=100;
alph=0.25;
beta=0.3;
randData=rand(2,N)*1000;
x=randData(1,:);
y=randData(2,:);
p=lianjiegailv(x,y,alph,beta,N);
switch pp
case 1
A=bian_lianjie1(p,N,alph);
case 2
relink=input('请输入边重新连接的概率:');
A=bian_lianjie2(p,N,alph,relink);
case 3
A=bian_lianjie3(p,N,alph);
case 4
A=bian_lianjie4(p,N,alph);
otherwise
disp('The number pp you input is wrong');
return;
end
plot(x,y,'r.','Markersize',18);
hold on;
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);
hold on;
end
end
end
hold off
[C,aver_C]=Clustering_Coefficient(A);
[DeD,aver_DeD]=Degree_Distribution(A);
[D,aver_D]=Aver_Path_Length(A);
disp(['该随机图的边数为:',int2str(sum(sum(A))/2)]);
disp(['该随机图的平均路径长度为:',num2str(aver_D)]); %%输出该网络的特征参数
disp(['该随机图的聚类系数为:',num2str(aver_C)]);
disp(['该随机图的平均度为:',num2str(aver_DeD)]);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 该函数求解两节点连接边的概率
function p=lianjiegailv(x,y,alph,beta,N)
d=zeros(N);
for i=1:N
for j=1:N
d(i,j)=sqrt((x(i)-x(j))^2+((y(i)-y(j)))^2);
end
end
L=max(max(d));
for i=1:N
for j=1:N
p(i,j)=alph*exp(-d(i,j)/beta/L);
end
p(i,i)=0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 生成机制1:与[0,1]内均匀随机数比较,若p(i,j)>random_data,则连接节点i,j.
% 直至总共生成的边数为N*(N-1)/2*alph
function A=bian_lianjie1(p,N,alph) % 返回值D为邻接矩阵
A=zeros(N);num=0;
for k=1:inf
for i=1:N
for j=1:N
random_data=rand(1,1);
if p(i,j)>=random_data&A(i,j)==0
A(i,j)=1;A(j,i)=1;
num=num+1;
if num>=N*(N-1)/2*alph
return ;
end
end
end
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 生成机制2:将概率从大到小排序,连接概率排在前面的节点对,直至总共生成的边数为N*(N-1)/2*alph
%% 以一定的较小的随机随机