2014-07-02 11 views
6

Ho un array d che contiene un array di carri:Julia: Trasformare un array di array in un array a 2 dimensioni

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

Sto cercando di convertirlo in un array 2-dimensionale, e Ho raggiunto il mio obiettivo con successo:

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 

C'è un modo più semplice per farlo?

risposta

10

hcat(d...) e vcat(d...) dovrebbero fare quello che vuoi.

+0

@scry Puoi elaborare? La domanda riguarda la conversione di un array 1d di array 1d in un array 2d. Il metodo prescritto funziona. – ivarne

+2

Voglio solo notare che il '...' è significativo qui, sarà [splat] (http://docs.julialang.org/en/release-0.3/manual/faq/#what-does-the- operator-do) gli argomenti della funzione (grazie @MattB). Ho scritto (e cancellato) una risposta fuorviante perché non sapevo che avrebbero dovuto essere usati letteralmente. – scry

+0

Inoltre, per ottenere una matrice nella stessa forma, prendi la trasposizione del risultato di hcat: 'hcat (d ...) '' – scry

Problemi correlati