假设我有一个长度为
例如,假设
相反,如果随机选中的位置是
我在MATLAB中编写代码。这是我目前的代码。
N
的数组。我想随机选择n
个位置,将它们置为零,然后将现存的元素加到下一个非零元素上。例如,假设
r=(r1,r2,r3,r4,r5)
,N=5
。让n=2
,并随机选择第三个和第四个位置。那么我想要将r
转换为r_new=(r1,r2,0,0,r3+r4+r5)
。相反,如果随机选中的位置是
1
和3
,那么我希望得到r_new=(0,r1+r2,0,r3+r4,r5)
。我在MATLAB中编写代码。这是我目前的代码。
u = randperm(T);
ind = sort(u(1:n(i)));
tmp = r(ind);
r(ind) = 0;
x = find( r );
我不一定需要MATLAB代码,伪代码也足够有帮助。
randi
多次返回相同的整数会发生什么? - sco1