获取矩阵的有序元素的索引

时间:2013-12-08 04:40:12

标签: matlab sorting

我试图根据矩阵的值得到那种行和列。 例如,如果矩阵是

A = [3 4 7; 9 8 6; 2 1 5]

应该输出

2 1
2 2
1 3
2 3
3 3 
1 2
1 1
3 1
3 2

我认为这应该很简单,但我不知道如何处理它。

1 个答案:

答案 0 :(得分:4)

是的,确实很简单。

%sort the vector instead of matrix to get linear indices
[~,ind]=sort(A(:),'descend')  

%convert the linear indices to [row,col] subscripts
[I,J]=ind2sub(size(A),ind)

%display desired answer 
[I J]

删除两列中具有相同值的行:

A(A(:,1)==A(:,2),:)=[]