求助 一个向量x 有512位 其中随机的10位是正负1 怎么编啊
求助 一个向量x 有512位 其中随机的10位是正负1 怎么编啊 从长为n的向量中随机选出m个位置,现成的函数用randperm即:a = randperm(n);am = a(1:m);但是这样效率比较低,高的话自己写一个函数如下:
function r = randnchoosek(n,m)
%n:数组,需要从中随机选取m个不重复的元素
%r: 数组n中随机选取的m个不重复的元素
ln = length(n);
for i = 1:m
ind = i-1+unidrnd(ln-i+1);
a = n(ind);
n(ind) = n(i);
n(i) = a;
end
r = n(1:m);
生成随机正负1可以用randsrc这个函数。 谢谢楼上的:lol :@$ :kiss:
页:
[1]