2014-07-02 10 views
6

Mam tablicę d że zawiera tablicę pływaków:Julia: Przekształcanie tablicy tablic w 2-wymiarowej tablicy

julia> d 
99-element Array{Array{Float64,1},1}: 
... 

próbuję przekonwertować go do 2-wymiarowej tablicy i Pomyślnie osiągnąłem swój cel dzięki:

data = Array(Float64,length(d),length(d[1])) 
for i in 1:length(d) 
    for j in 1:length(d[1]) 
     data[i,j] = d[i][j] 
    end 
end 

Czy jest to prostszy sposób?

Odpowiedz

10

hcat(d...) i vcat(d...) powinien zrobić, co chcesz.

+0

@scry Czy możesz rozwinąć? Pytanie dotyczy konwersji tablicy 1d z tablic 1d na tablicę 2D. Działa zalecana metoda. – ivarne

+2

Po prostu chcę zauważyć, że "..." jest tutaj znaczące, będzie [splat] (http://docs.julialang.org/en/release-0.3/manual/faq/#what-does-the- operator-do) argumenty funkcji (dziękuję @MattB). Napisałem (i skasowałem) mylącą odpowiedź, ponieważ nie wiedziałem, że mają być użyte dosłownie. – scry

+0

Aby uzyskać macierz w tym samym kształcie, należy wykonać transpozycję wyniku hcat: 'hcat (d ...) '' – scry

Powiązane problemy