2013-12-08 39 views
0

我想根據矩陣的值得到行和列的排序。 例如,如果矩陣是獲取矩陣的排序元素的索引

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 

我認爲這應該是簡單的,但我沒有關於如何處理的想法。

+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),:)=[] 
+0

非常感謝您的精彩迴應。另一個簡單問題。如何刪除行中的行,它具有相同的值,例如A = [1,1; 2,3; 4,4],我想刪除第一行和第三行。謝謝! – ivory

+0

@ivory'A([1 3],:) = [];'我會這樣想。但要注意維度和索引的變化! :) – Ray

+2

@ivory請在下次展示你的努力,當你問問題stackoverflow –