给定一个矩阵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]
答案 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
。