(MATLAB)如何在没有替换的情况下从矩阵中随机抽样一行?

时间:2015-08-24 09:47:23

标签: matlab matrix indexing

所以,我有一个名为matrix1的矩阵(维度= 1280x5,每个元素都是一个数字)。我有另一个矩阵,称为matrix2,它具有相同的尺寸并包含全零。这就是我想要做的事情:从matrix1中随机选择一行,无需替换,然后将其插入到matrix2的第一行。矩阵1中的下一个随机选择的行将进入矩阵2的第2行,依此类推,直到矩阵1的所有1280行都已移动到矩阵2.值得注意的是,我希望所有这些都使用具有1280次迭代的for循环发生。在每次迭代中,矩阵中的1行将被随机选择而无需替换并放入矩阵2.如果您有任何建议,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用适当的行索引来执行此操作:

idx = randperm(size(mat1,1));   %// Random row index
mat2 = mat1(idx, :);