随机列对

时间:2012-04-20 15:02:18

标签: matlab

我有一个包含两列的数组,每一行都是唯一的一对。当我洗牌时,我希望数组在成对之间进行混洗,而不是两个单独的列。

这是数组

A=[2     1;
   2     1;
   2     2;
   2     2;
   2     3;
   2     3;
   2     4;
   2     4;
   1     5;
   1     6;
   1     7;
   1     8;
   1     9;
   1     9;
   1     9;
   1     9]

所以在洗牌之后,我希望保留对,只有他们的顺序可以改变。

1 个答案:

答案 0 :(得分:4)

所以size(A) = [16, 2]你希望在不打扰对的情况下洗牌。尝试:

A = A(randperm(16), :);

randperm(16)以随机顺序给出数字1..16,它们用于索引A行。