随机播放矩阵的行

时间:2016-04-16 14:55:28

标签: matlab

如何改变矩阵行的顺序

1 2 3 4 5 6
5 1 3 2 4 6
2 5 1 3 4 6

我需要改变行的排序

2 5 1 3 4 6
1 2 3 4 5 6
5 1 3 2 4 6

我怎样才能在MATLAB中做到这一点?

1 个答案:

答案 0 :(得分:2)

您可以轻松地使用行索引的随机排列(randperm)来混洗输入矩阵的行。

作为示例,我使用了magic,但将您的矩阵替换为A

A = magic(3);
%// 8     1     6
%// 3     5     7
%// 4     9     2

rows = randperm(size(A, 1));
%// 2     1     3

B = A(rows, :);
%// 3     5     7
%// 8     1     6
%// 4     9     2

或者在一行中:

B = A(randperm(size(A, 1)), :);