按列排序并在Matlab中获取索引?

时间:2014-05-11 17:25:50

标签: matrix matlab

我想在Matlab中对矩阵A中矩阵B的每一行的元素进行排序,并获得一个矩阵C,报告原始中每个已排序元素的列索引矩阵A。如果A行中的两个元素相同,则报告的列索引应按递增顺序排列,例如

A=[3 2 1 4; 5 6 7 8; 9 0 10 2; 2 1 1 0]
B=[1 2 3 4; 5 6 7 8; 0 2 9 10; 0 1 1 2]
C=[3 2 1 4; 1 2 3 4; 2 4 1 3; 4 2 3 1]

1 个答案:

答案 0 :(得分:2)

内置sort函数在行上运行时会执行此操作(在Matlab中为维度2)。

第一个输出将是在每行中排序的元素,给出B
第二个输出将是每行中A的B元素的列索引,给出C

[B,C]=sort(A,2)

或者如果您只是希望CB替换为上述行中的~ ..