Matlab——不重复随机整数的应用例子

Matlab——不重复随机整数的应用例子20110719回答小木虫一提问

CODE1:

function ff=lds(xx,m,a,b,k)
%xx里面存n个数
%随机选m个数令其值为a,(n>=m)
%其余n-m个值为b
%执行k次
for j=1:k %选择k次
    n=size(xx,2); %检查有多少个数,即得到n
    z=randperm(n); 
    zz=z(1:m); %得到四个从1到n的不重复的随机整数
    xx(1:n)=b; %首先令所有数为b
    xx(1,zz)=a; %再令选中的四个为a,也就实现了——选择4个令其值为a,其余n-4个数的值为b
    ff=xx; %把得到的数据返回
end

调用方式;

CODE2:

x=rand(1,996)
f=lds(x,4,2,0,1000)
任意的行向量x选4个赋值为2,其余为0,执行1000次

本人原帖地址