按“排序矩阵的列”;“最大元素”;在matlab中
在matlab中,如何按给定列中的最大元素按升序对矩阵列进行排序 例如,给定一个矩阵a=[13005;10012;22007],我想输出a=[30015;11002;20027]按“排序矩阵的列”;“最大元素”;在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
我可以使用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);