特定の列に従ってマトリックスをソートしたいと思います。 sort
関数がありますが、すべての列を個別にソートします。
たとえば、私の行列data
が次の場合:
_ 1 3
5 7
-1 4
_
目的の出力(最初の列でソート)は次のようになります。
_-1 4
1 3
5 7
_
ただし、sort(data)
の出力は次のとおりです。
_-1 3
1 4
5 7
_
この行列を最初の列で並べ替えるにはどうすればよいですか?
sortrows 関数があなたが探しているものだと思います。
>> sortrows(data,1)
ans =
-1 4
1 3
5 7
sortrows()
の代替であり、より広範なシナリオに適用できます。
並べ替える行/列のソートインデックスを保存します。
[~,idx]=sort(data(:,1));
前のソートされたインデックスに従ってすべての行/列を並べ替えます
data=data(idx,:)