根据行的平均值对矩阵重新排序

时间:2014-02-27 22:25:23

标签: arrays matlab matrix

给定一个矩阵A m x n我想重新组织它的行,以便从行1到行n,该行的平均值越来越大。

有一种简单的方法吗?

E.g。输入A = [5 5 5; 3 3 3; 2 2 2; 4 4 4]输出B = [2 2 2; 3 3 3; 4 4 4; 5 5 5]

1 个答案:

答案 0 :(得分:2)

我认为你的意思是,而不是;和意味着,而非中位数

[~, ind] = sort(mean(A.')); %'// get indices of sorting the row means
B = A(ind,:); %// apply that sorting to the matrix

(您可以使用sum代替mean来节省一些时间。

如果你的意思是

[~, ind] = sort(mean(A));
B = A(:,ind);

如果您的意思是中位数,请将mean替换为median