0

我想明智地洗牌我的数据行(在一个唯一的行中不会有洗牌,它必须保持不变 - 我的意思是单行中的所有单个单元格都不能改变)。我的 excel 文件中的行数约为 170000。

我所需要的只是随机打乱其中的所有行。如何通过 mat-lab 命令执行此操作?请提供代码或算法!

在此处输入图像描述

4

2 回答 2

3

对于读取和写入 excel 文件,请参见xlsreadxlswrite

随机打乱矩阵的行:

M = magic(5);
Mshuffled = M(randperm(size(M, 1)), :)
于 2013-05-02T06:12:55.687 回答
1

正如@Dan 所提到的,您可以使用xlsreadxlswrite来操作 Excel 文件。您可以使用randperm来有效地实现改组,但实现此目的的另一种方法是使用randsample命令。

例如:

>> A = randint (5,2,[1,10])

A =

     2     2
    10     5
    10    10
     5     8
     9    10

>> A(randsample(1:size(A,1),size(A,1)),:)

ans =

    10     5
     2     2
     9    10
    10    10
     5     8
于 2013-05-02T06:19:15.350 回答