行Matlab的随机顺序

cMi*_*nor 43 matlab shuffle

假设我们有一个大小为100x3的矩阵

你会如何在MATLAB中改变行?

Jon*_*nas 71

要对矩阵的行进行洗牌,可以使用RANDPERM

shuffledArray = orderedArray(randperm(size(orderedArray,1)),:);
Run Code Online (Sandbox Code Playgroud)

randperm将生成一个N随机值列表并对它们进行排序,返回结果的第二个输出sort.

  • 您的解决方案比我的解决方案快了大约2.5倍,至少在我的计算机上. (3认同)

Kno*_*one 6

这可以通过Matlab的randsample函数为矩阵行创建一个新的随机索引来完成.

matrix=matrix(randsample(1:length(matrix),length(matrix)),:);
Run Code Online (Sandbox Code Playgroud)