我试图解决这个问题,但它不起作用。
说我有
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];
答案 0 :(得分:3)
randperm只需一个N并返回数字1到N的排列。
我没有安装Matlab,所以我不能尝试这个,但这应该有效:
a(randperm(length(a)))
答案 1 :(得分:0)
randperm的参数不应该是数组,而是它的长度。 尝试
B(randperm(length(B)))