如何改变矩阵行的顺序
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中做到这一点?
答案 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)), :);