我随手编个m文件给你试试吧。编的有点复杂了。呵呵。

clear all;

data =rand(1,50);

N_div = 10;

nn =size(data); N=nn(2);

%%%% randomly redistribute this N numbers

IsRepeated = 1;

RDis(1) = 0;

for i =1:N

IsRepeated = 1;

while(IsRepeated == 1)

J = floor(rand*N+1) ;

if(i==1)

IsRepeated = 0;

end

if(i>1)

IsRepeated = 0;

for j=1:i-1

if(J==RDis(j))

IsRepeated = 1;

end

end

if(J>N)

IsRepeated = 1;

end

end

end

RDis(i) =J;

end

%%% insert random blocks between numbers (balls).

IsRepeated = 1;

BDis(1) = 0;

for i =1:N_div-1

IsRepeated = 1;

while(IsRepeated == 1)

J = floor(rand*(N-1)+1) ;

if(i==1)

IsRepeated = 0;

end

if(i>1)

IsRepeated = 0;

for j=1:i-1

if(J==BDis(j))

IsRepeated = 1;

end

end

if(J>N-1)

IsRepeated = 1;

end

end

end

BDis(i) =J;

end

BDis = sort(BDis);

NumDis(1,1:BDis(1)) = RDis(1:BDis(1));

NumD (1) = BDis(1);

for i=1:N_div-2

NumDis(i+1,1:BDis(i+1)-BDis(i)) =RDis(BDis(i)+1:BDis(i+1));

NumD (i+1) = BDis(i+1)-BDis(i);

end

NumDis(N_div,1:N-BDis(N_div-1)) = RDis(BDis(N_div-1)+1:N);

NumD (N_div) = N-BDis(N_div-1);

NumDis

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐