行的随机顺序Matlab
假设我们有一个大小为100×3的matrix
你将如何洗牌MATLAB中的行?
要混洗matrix的行,可以使用RANDPERM
shuffledArray = orderedArray(randperm(size(orderedArray,1)),:);
randperm
将生成一个N
随机值的列表并对它们进行sorting,返回sorting的第二个输出作为结果。
这可以通过Matlab的randsample函数为matrix行创build一个新的随机索引来完成。
matrix=matrix(randsample(1:length(matrix),length(matrix)),:);
对于大型数据集,您可以使用自定义Shufflefunction
它使用DE Knuth的shufflealgorithm(也称为Fisher-Yates)和可爱的KISS随机数生成器(G. Marsaglia)。