2014-07-02 41 views
6

Tôi có một mảng d có chứa một mảng phao:Julia: Chuyển đổi một mảng của mảng trong một mảng 2 chiều

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

Tôi đang cố gắng để chuyển đổi nó thành một mảng 2 chiều, và Tôi đã đạt được mục tiêu của mình thành công với:

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ó cách nào đơn giản hơn để làm việc này không?

Trả lời

10

hcat(d...)vcat(d...) nên làm những gì bạn muốn.

+0

@scry Bạn có thể xây dựng không? Câu hỏi đặt ra là chuyển đổi mảng 1d mảng 1d thành mảng 2d. Phương pháp quy định hoạt động. – ivarne

+2

Tôi chỉ muốn lưu ý rằng '...' có ý nghĩa ở đây, nó sẽ [splat] (http://docs.julialang.org/en/release-0.3/manual/faq/#what-does-the- toán tử-do) các đối số cho hàm (cảm ơn bạn @MattB). Tôi đã viết (và xóa) một câu trả lời sai lầm bởi vì tôi không biết họ đã được sử dụng theo nghĩa đen. – scry

+0

Ngoài ra, để lấy ma trận trong cùng một hình dạng, hãy chuyển vị trí của kết quả của hcat: 'hcat (d ...) '' – scry

Các vấn đề liên quan