为什么我的Matlab Random Shuffle不起作用?

时间:2013-12-08 06:00:31

标签: matlab shuffle random-sample

我试图解决这个问题,但它不起作用。

说我有

a = [5,1,5,6,7,2,4];

现在,如果我a(randperm(a))我得到:

ans =

     1     7     6     5     5

现在,我也有

b = [1,2,3,4,5,6,7,8,9,10];

但是,如果我b(randperm(b))

ans =

     1

为什么会这样?这似乎对我没有任何意义。如何改变像:

这样的矢量
z = [1,2,3,4.... 1500,6001,6002,6003... 8999];

2 个答案:

答案 0 :(得分:3)

randperm只需一个N并返回数字1到N的排列。

我没有安装Matlab,所以我不能尝试这个,但这应该有效:

a(randperm(length(a)))

答案 1 :(得分:0)

randperm的参数不应该是数组,而是它的长度。 尝试

B(randperm(length(B)))