Was ist der effizienteste Weg, um eine Matrix {T} der Größe 1 * N oder N * 1 in Julia in einen Vektor {T} zu konvertieren?Was ist der effizienteste Weg, um eine Matrix {T} der Größe 1 * N oder N * 1 in Julia in einen Vektor {T} zu konvertieren?
Zum Beispiel sage ich
a = [1,3,5]
b = a'
Sowohl a
und b
sind vom Typ Array{Int,2}
(das heißt Matrix{Int}
) haben. Was sind die effizientesten Möglichkeiten, a
und b
in den Typ Array{Int,1}
(d. H. Vector{Int}
) zu konvertieren?
Ein Ansatz ist:
a_vec = [x::Int for x in a]
b_vec = [x::Int for x in b]
Eine wichtige Sache zu beachten beide 'vec' und' reshape' ist, dass sie für Performance-Speicher mit dem zugrunde liegenden Array gemeinsam nutzen - das ist, warum 'vec' so viel schneller als ein Verständnis, das ein neues Array-Objekt erstellt und Inhalt kopiert. Wenn Sie also 'a [1]' ändern, ändert sich auch 'v_aII [1]' und umgekehrt, während 'v_a [1]' davon nicht betroffen ist. – StefanKarpinski