Julia'da bir 1 * N veya N * 1 boyutundaki bir Matrix'i {T} bir Vector'e dönüştürmenin en etkili yolu nedir? Örneğin Julia'daki bir 1 * N veya N * 1 boyutundaki bir Matrix {T} 'yi Vector {T}' ye dönüştürmenin en etkili yolu nedir?
I. tiptekiArray{Int,2}
(yani
Matrix{Int}
) vardır
a = [1,3,5]
b = a'
Hem a
ve b
olduğunu varsayalım. a
ve b
'u Array{Int,1}
(ör. Vector{Int}
) türüne dönüştürmenin en etkili yolları nelerdir?
Bir yaklaşım geçerli:
a_vec = [x::Int for x in a]
b_vec = [x::Int for x in b]
önemli bir nokta hem 'reshape' onlar performans için altta yatan dizisi ile hafızayı paylaşan olmasıdır vec' ve' - işte 'vec' çok daha hızlı neden böyle olduğunu içeriği kopyalayan yeni bir dizi nesnesi oluşturan bir kavrayıştan daha fazlası. Böylece, bir [1] 'i değiştirirseniz, 'v_aII [1]' de değişecek ve tersi olacak, 'v_a [1]' ise etkilenmeyecektir. – StefanKarpinski