2011-01-10 17 views
8

Ben şu biçimde olabilir verilere sahip:Sıralama MATLAB Hücre Dizisi

'of' 45001 23366 21859591 52876216 0 45001 
'on' 40649 23226 17940625 44201973 0 40649 
'my' 37976 18338 11277975 47042676 0 37976 
'me' 28707 18134 6546887 36222235 0 28707 

Ben MATLAB'da ben sütun 2 büyük en küçük söylemek ama tüm diğer satırları tutmak sıralama hakkında nasıl gideceğini merak ediyorum sıralanan ile ilişkili - bu da bir hücre dizisinde saklanır.

Herhangi bir yardım için teşekkür ederiz. basitçe işlevini SORTROWS kullanın:

+1

Related/near duplicates: [Bir sütuna göre MATLAB 2-D dizisini nasıl sıralayabilirim?] (Http://stackoverflow.com/questions/134712/how-can-i-sort-a- 2-d-dizi-in-matlab-in-bire-bir-sütun), [MATLAB içinde yuvalanmış bir sıralama nasıl yapardım?] (Http://stackoverflow.com/questions/1262803/how-would- I-do-bir-yuvalanmış-sort-in-matlab), [MATLAB içinde bir matris sıralarken satırları nasıl koruyacağım?] (http://stackoverflow.com/questions/2923118/how-do-i-maintain- sıra-sıra-bir-matris-matlab) sıraları – gnovice

cevap

14

Bir cell array ile uğraşıyoruz rağmen, cevap aslında benim yukarıda açıklamada bağlantılı yakından ilgili sorular numeric arrays için listelenen ile aynı olmak biter.

sortedCellArray = sortrows(cellArray,-2); 


NOT:SORTROWS belgeleri değil unutulmamalıdır Burada (azalan sırayla) ikinci sütundaki değerlere göre cep dizinin satırlarını sıralamak için ne yapmanız açıkça göründüğü gibi, fonksiyonun hücre dizisi girişleriyle çalışacağını, ancak başka bir dizide olduğu gibi çalıştıklarını gösteren bir örneği var.

+1

Duh. Yardımları kontrol ettim ve hücre dizilerini kabul etmemiş gibi görünüyordu. – Jonas

+0

@Jonas: Bu bana bir * tam * yinelenen çağrı hakkında beni duraklattı. Diğer soruların hiçbiri açıkça hücre dizileriyle ilgilenmiyor ve hatta * dokümantasyon bu konuda bir şey söylemiyor! – gnovice

+0

Bu yüzden yeni bir cevap aldım. Buna katılıyorum, yine de çok yakın bir kopya. Yine de daha iyi cevap için +1. – Jonas

İlgili konular