matlab求图形的聚类系数,求助,为什么画不出来聚类系数的图?一直为0啊

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

format long;

N=1000;

k=5;

L=zeros(14,20);

C=zeros(14,20);

for i=1:14

p(15-i,1)=1/2^(i-1);

end

A=zeros(N);

for i=1:N

for j=i+1:i+k

jj=j;

if j>N

jj=mod(j,N);

end

A(i,jj)=1;A(jj,i)=1;

end

end

D1=A;

D1(find(D1==0))=inf;

for i=1:N

D1(i,j)=0;

end

m=1;

while m<=N

for i=1:N

for j=1:N

if D1(i,j)>D1(i,m)+D1(m,j)

D1(i,j)=D1(i,m)+D1(m,j);

end

end

end

m=m+1;

end

L0=sum(sum(D1))/(N*(N-1)); %平均路径长度

Ci0=zeros(N,1);

for i=1:N

aa1=find(D1(i,:)==1); %寻找子图的邻居节点

if isempty(aa1)

Ci0(i)=0;

else

m1=length(aa1)

if m1==1

Ci0(i)=0;

else

B1=D1(aa1,aa1); % 抽取子图的邻接矩阵

Ci0(i)=length(find(B1==1))/(m1*(m1-1));

end

end

end

C0=mean(Ci0);

for z=1:14

for g=1:20

B=zeros(N)

for i=1:N

for j=i+1:i+k

jj=j;

if j>N

jj=mod(j,N);

end

B(i,jj)=1; B(jj,i)=1; %%生成最近邻耦合网络的邻接矩阵

end

end

for i=1:N

for j=1:k

p_rand=rand(1,1);

if p_rand

bb=randint(1,1,[1,N]);

if B(i,bb)==0&&B(bb,i)==0&&bb~=i

j2=j+i;

if j2>N

j2=mod(j2,N);

end

B(i,j2)=0;

B(j2,i)=0;

B(i,bb)=1;

B(bb,i)=1;

end

end

end

end

N1=size(A,2)

D=B;

D(find(D==0))=inf;

for i=1:N

D(i,i)=0;

end

m2=1;

while m2<=N

for i=1:N

for j=1:N

if D(i,j)>D(i,m2)+D(m2,j)

D(i,j)=D(i,m2)+D(m2,j); %

end

end

end

m2=m2+1;

end

Ci=zeros(N,1);

for i=1:N

aa=find(D(i,:)==1); %寻找子图的邻居节点

if isempty(aa)

Ci(i)=0;

else

m3=length(aa);

if m3==1

Ci(i)=0;

else

BB=D(aa,aa); % 抽取子图的邻接矩阵

Ci(i)=length(find(BB==1))/(m3*(m3-1));

end

end

end

C(z,g)=mean(Ci);

end

end

figure

LWS=mean(L,2);

CWS=mean(C,2);

semilogx(p,LWS/L0,'ro');

hold on;

semilogx(p,CWS/C0,'b*');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值