如何向数组中添加复数?

时间:2014-03-31 02:19:21

标签: julia

第一次看朱莉娅

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

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

我确信这是因为julia打字系统不同。

朱莉娅如何做到这一点?

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

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

2 个答案:

答案 0 :(得分:11)

您可以将x设为复杂数组:

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

现在您可以执行此操作:

x[2]=3+5im;

这导致x包含:

println(x)

输出:

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

根据需要。

答案 1 :(得分:9)

你可能希望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表示这是一维数组。