2008-09-25 29 views
45

Belirli bir sütuna göre bir matris sıralamak istiyorum. sort işlevi vardır, ancak tüm sütunları bağımsız olarak sıralar.MATLAB'da 2 D dizisini bir sütuna göre nasıl sıralayabilirim?

Örneğin, matrisim data ise:

1  3 
5  7 
-1  4 

sonra istenen çıkış (birinci sütun ile sıralama) olacaktır:

-1  4 
1  3 
5  7 

Ancak sort(data) çıktısı:

-1  3 
1  4 
5  7 

Bu matrisi ilk sütuna göre nasıl sıralayabilirim?

cevap

75

sortrows işlevini aradığınız şey bence.

>> sortrows(data,1) 

ans = 

    -1  4 
    1  3 
    5  7 
+1

teşekkürler. "Ben de görmek için" Ayrıca bkz. – Midhat

3

geniş senaryo uygulanabilir sortrows() bir alternatif. Eğer tarafından sipariş etmek istiyorum satır/sütun sıralama endeksleri tasarruf

  1. : Bir önceki sıralanmış endekslerine göre tüm satırları/sütunları sipariş

    [~,idx]=sort(data(:,1)); 
    
  2. data=data(idx,:)