2014-04-20 32 views
12
Sonra 3.

Julia: Sıralama Matriks 2. sütun tarafından daha sonra 3

A = round(randn(100,4)) 

2. sütun benim matrisi A sıralamak istiyorum

Belki bir şey gibi:

sort(A,(0,2:3)) 
100x4 Array{Float64,2}: 
    0.0 -2.0 -2.0 -1.0 
-1.0 -2.0 -1.0 1.0 
    1.0 -2.0 -1.0 2.0 
-1.0 -2.0 0.0 0.0 
-1.0 -2.0 0.0 -1.0 
-0.0 -2.0 0.0 -1.0 
    1.0 -2.0 0.0 0.0 
    1.0 -2.0 1.0 -1.0 
-0.0 -2.0 2.0 -1.0 
-0.0 -1.0 -2.0 1.0 
    ⋮      
-0.0 1.0 0.0 1.0 
    1.0 1.0 1.0 1.0 
    0.0 1.0 1.0 -1.0 
-0.0 1.0 2.0 0.0 
-0.0 2.0 -1.0 0.0 
-2.0 2.0 -1.0 1.0 
    2.0 2.0 -0.0 -1.0 
-1.0 2.0 -0.0 -1.0 
    1.0 2.0 0.0 2.0 
-1.0 2.0 2.0 0.0 

cevap

18

bir sortrows işlevi yok ki

julia> sortrows(A, by=x->(x[2],x[3])) 
100x4 Array{Float64,2}: 
    2.0 -3.0 -0.0 0.0 
-1.0 -2.0 -1.0 -1.0 
-0.0 -2.0 -0.0 0.0 
    0.0 -2.0 0.0 -1.0 
    1.0 -2.0 1.0 2.0 
-0.0 -2.0 1.0 -1.0 
-1.0 -1.0 -2.0 1.0 
-1.0 -1.0 -2.0 -0.0 
-1.0 -1.0 -1.0 1.0 
-0.0 -1.0 -1.0 0.0 
    ⋮ 
-0.0 1.0 1.0 -1.0 
-0.0 1.0 2.0 1.0 
    0.0 1.0 2.0 0.0 
-1.0 2.0 -2.0 1.0 
    0.0 2.0 -2.0 -2.0 
    1.0 2.0 -1.0 0.0 
    0.0 2.0 -1.0 -0.0 
-1.0 2.0 0.0 -1.0 
-0.0 2.0 2.0 0.0 
    1.0 3.0 2.0 1.0 

sıralama API güzel: bunu sağlayan by anahtar sözcük alır esnek - here belgelerini bulabilirsiniz.

İlgili konular