2014-03-31 11 views
5

看着朱莉婭如何將複數添加到數組中?

julia> x=[1 2 3]; 
julia> x[2]=3+5im 

ERROR: InexactError() 
in convert at complex.jl:18 
in setindex! at array.jl:346 

第一次,我相信這是因爲朱莉婭類型系統是不同的。

在朱莉婭下面會如何做到這一點?

x=[1 2 3]; 
x(2)=3+5*1i 

x = 
    1.0000 + 0.0000i 3.0000 + 5.0000i 3.0000 + 0.0000i 

回答

8

您可以x一系列複雜:在x

x[2]=3+5im; 

這導致:

x=[1 2 3]; 
x=complex(x); 

現在,您可以執行此操作

println(x) 

此輸出:

1+0im 3+5im 3+0im 

根據需要。

8

您可能希望x很複雜。在這種情況下,你可以這樣做:

x = Complex{Float64}[1, 2, 3] 

它可以讓你做你想做的事。您還可以將Float64更改爲其他類似Int或Int64的內容。

此外,您應該在條目後加逗號以獲得​​1維數組而不是2維數組,這就是您的。爲了找到類型爲此

typeof(x) 

其給出

1x3 Array{Complex{Float64},1}: 
1.0+0.0im 2.0+0.0im 3.0+0.0im 

的1在末端指示這是一個一維數組。