按“排序矩阵的列”;“最大元素”;在matlab中

按“排序矩阵的列”;“最大元素”;在matlab中,matlab,Matlab,在matlab中,如何按给定列中的最大元素按升序对矩阵列进行排序 例如,给定一个矩阵a=[13005;10012;22007],我想输出a=[30015;11002;20027] 我可以使用for循环来实现这一点,但我一直被这样的想法所困扰:我应该始终寻找矩阵运算来在matlab中完成任何事情。找到a中每列的最大值并对它们进行排序。我们需要排序的索引(I) 根据索引对A进行排序I: >> Asort=A(:,I) Asort = 300 1 5 1

在matlab中,如何按给定列中的最大元素按升序对矩阵列进行排序

例如,给定一个矩阵a=[13005;10012;22007],我想输出a=[30015;11002;20027]


我可以使用for循环来实现这一点,但我一直被这样的想法所困扰:我应该始终寻找矩阵运算来在matlab中完成任何事情。

找到a中每列的最大值并对它们进行排序。我们需要排序的索引(
I

根据索引对
A
进行排序
I

>> Asort=A(:,I)

Asort =

   300     1     5
     1   100     2
   200     2     7
简而言之,您只需要以下两行:

[~,I]=sort(max(A,[],1),'descend');
Asort=A(:,I);
[~,I]=sort(max(A,[],1),'descend');
Asort=A(:,I);