我想明智地洗牌我的数据行(在一个唯一的行中不会有洗牌,它必须保持不变 - 我的意思是单行中的所有单个单元格都不能改变)。我的 excel 文件中的行数约为 170000。
我所需要的只是随机打乱其中的所有行。如何通过 mat-lab 命令执行此操作?请提供代码或算法!
我想明智地洗牌我的数据行(在一个唯一的行中不会有洗牌,它必须保持不变 - 我的意思是单行中的所有单个单元格都不能改变)。我的 excel 文件中的行数约为 170000。
我所需要的只是随机打乱其中的所有行。如何通过 mat-lab 命令执行此操作?请提供代码或算法!
对于读取和写入 excel 文件,请参见xlsread
和xlswrite
。
随机打乱矩阵的行:
M = magic(5);
Mshuffled = M(randperm(size(M, 1)), :)
正如@Dan 所提到的,您可以使用xlsread
和xlswrite
来操作 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