2017-03-20 7 views
2

を昇順に並べ替え行列の列と行のインデックスを検索し、私はMATLABで、この次のタスクを解決したいのですが最大は、次のとおりです。

x = [1,2,2,3,2,3,...]; 
y = [1,1,2,1,3,1,...]; 

CORR:

1: pos. (1,1) 
2: pos. (2,1) 
2: pos. (2,2) 
3: pos. (3,1) 
4: pos. (2,3) 
4: pos. (3,2) 
... 

ので、この関数の出力は、2つのベクトルになります

おかげで、事前に行列Aのminumal値の行と列のインデックスにesponding!

答えて

3

あなたはind2subsortを結合する必要があります:あなたに

[vals,linpos] = sort(A(:)) 
[x,y] = ind2sub(size(A),linpos) 

vals.' = 1  2  2  3  4  4  8 10 50 
x.' = 1  2  2  3  3  2  1  1  3 
y,' = 1  1  2  1  2  3  3  2  3 

違い所望の出力は、入力データに同じ数の複数の出現箇所によって引き起こされます。それが重要な場合は、適用するルールを指定します。複数の発生箇所が表示される場合

+0

ないルールが適用されるべきです。だからあなたの答えは解決策です!どうもありがとうございました –