1

マトリックスを注文するのが難しいです。提供されている機能sortrowsは、逆の方法で機能します...

この2Dマトリックスを取る

M =
     40    45    68
     50    65    58
     60    55    48
     57    67    44    
                      ,

O目的は、行ごとの並べ替えインデックス(ランク)を示す行列を見つけることです。

O =

     1     2     3
     1     3     2
     3     2     1
     2     3     1
                       .

したがって、2番目の行50は、最小の要素(1)、65最大の要素(3)、および582番目に大きい要素(2)であるため、行ベクトル[1 3 2]です。

4

2 に答える 2

3
[~,sorted_inds] = sort(M,2);

しましょう。

于 2012-08-24T15:53:15.120 に答える
0

sort通常の関数の2番目の出力を探していると思います。

[~,I] = sort(M,2)

この構文は、実際のソートされた行列を抑制し、次のようなMsortedインデックスを返します。I

for j = 1:n, Msorted(j,:) = M(I(j,:),j); end

詳細については、入力doc sortしてください。

于 2012-08-24T15:59:14.190 に答える