Cách hiệu quả nhất để chuyển đổi Ma trận {T} có kích thước 1 * N hoặc N * 1 trong Julia thành Vector {T} là gì?Cách hiệu quả nhất để chuyển đổi Ma trận {T} có kích thước 1 * N hoặc N * 1 trong Julia thành Vector {T} là gì?
Ví dụ, nói rằng tôi có
a = [1,3,5]
b = a'
Cả a
và b
là loại Array{Int,2}
(ví dụ: Matrix{Int}
). Cách hiệu quả nhất để chuyển đổi a
và b
là gì để nhập Array{Int,1}
(ví dụ: Vector{Int}
)?
Một cách tiếp cận là:
a_vec = [x::Int for x in a]
b_vec = [x::Int for x in b]
Một điều quan trọng cần lưu ý về cả hai 'vec' và' reshape' là họ chia sẻ bộ nhớ với các mảng cơ bản để thực hiện - đó là lý do tại sao 'vec' rất nhanh hơn nhiều hơn là hiểu, tạo ra một đối tượng mảng mới, sao chép nội dung. Do đó, nếu bạn thay đổi 'a [1]', 'v_aII [1]' cũng sẽ thay đổi và ngược lại, trong khi 'v_a [1]' sẽ không bị ảnh hưởng. – StefanKarpinski