2015-02-15 12 views
11

Ich möchte einen leeren Vektor erstellen und fügen Sie ihm ein Array in Julia. Wie mache ich das?Julia: Anhängen an einen leeren Vektor

x = Vector{Float64} 
append!(x, rand(10)) 

Ergebnisse in

`append!` has no method matching append!(::Type{Array{Float64,1}}, ::Array{Float64,1}) 

Dank.

Antwort

16

Ihre Variable x enthält kein Array, sondern einen Typ.

x = Vector{Float64} 
typeof(x) # DataType 

Sie können ein Array als Array(Float64, n) erzeugen (aber Vorsicht, es nicht initialisiert ist: es willkürliche Werte enthält) oder zeros(Float64, n), wo n die gewünschte Größe ist.

Da Float64 die Standardeinstellung ist, können wir es weglassen. Ihr Beispiel wird:

x = zeros(0) 
append!(x, rand(10)) 
+0

Wie erweitern Sie dies zu einem 2D-Array? Zum Beispiel habe ich eine Art Array {Float64,2}, die ich an ein leeres Array des gleichen Typs anhängen möchte, aber ich erhalte den Fehler 'ERROR: MethodError: 'append!' Hat keine Methode, die append! :: Array {Float64,2}, :: Array {Float64,2}) '. – lara

6

Sie können, indem Sie den Typ vor [] einen leeren Vector jeglicher Art initialisieren. Wie:

Float64[] # Returns what you want 
Array{Float64, 2}[] # Vector of Array{Float64,2} 
Any[] # Can contain anything 
Verwandte Themen