无标度网络 matlab,Matlab构建无标度网络的程序,运行出错,高手帮忙看怎么改!!

N=10000;m0=3;m=3;

adjacent_matrix=sparse(m0,m0);

for i=1:m0

for j=1:m0

if j==i

adjacent_matrix(i,j)=1;

end

end

end

adjacent_matrix=sparse(adjacent_matrix);

node_degree=zeros(1,m0+1);

node_degree(2:m0+1)=sum(adjacent_matrix);

for iter=4:N

iter

total_degree=2*m*(iter-4)+6;

cum_degree=cumsum(node_degree);

choose=zeros(1,m)

%%%

r1=rand(1)*total_degree;

for i=1:iter-1

if(r1>=cum_degree(i))&(r1

choose(1)=i;

break

end

end

choose(1)%%

r2=rand(1)*total_degree;

for i=1:iter-1

if(r2>=cum_degree(i))&(r2

choose(2)=i;

break

end

end

while choose(2)==choose(1)

r2=rand(1)*total_degree;

for i=1:iter-1

if(r2>=cum_degree(i))&(r2

choose(2)=i;

break

end

end

end

choose(2) %%%

r3=rand(1)*total_degree;

for i=1:iter-1

if(r3>=cum_degree(i))&(r3

choose(3)=i;

break

end

end

while(choose(3)==choose(1))|(choose(3)==choose(2))

r3=rand(1)*total_degree;

for i=1:iter-1

if(r3>=cum_degree(i))&(r3

choose(3)=i;

break

end

end

end

choose(3)%%%

for k=1:m

z=choose(k)

adjacent_matrix(z,iter)=1;

adjacent_matrix(iter,z)=1;

end

node_degree=zeros(1,iter+1);

node_degree(2:iter+1)=sum(adjacent_matrix);

end

save data adjacent_matrix;

??? Subscript indices must either be real positive integers or logicals.

Error in ==> d:\MATLAB6p5\work\Untitled3.m

On line 63  ==>         adjacent_matrix(z,iter)=1;

[本帖最后由 mooni 于 2009-4-22 10:50 编辑]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值