如何向数组中添加复数?

Nas*_*ser 7 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
Run Code Online (Sandbox Code Playgroud)

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

如何在朱莉娅这样做呢?

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

x =
   1.0000 + 0.0000i   3.0000 + 5.0000i   3.0000 + 0.0000i
Run Code Online (Sandbox Code Playgroud)

jrd*_*rd1 11

你可以制作x一个复杂的数组:

x=[1 2 3];
x=complex(x);
Run Code Online (Sandbox Code Playgroud)

现在您可以执行此操作:

x[2]=3+5im;
Run Code Online (Sandbox Code Playgroud)

这导致x包含:

println(x)
Run Code Online (Sandbox Code Playgroud)

这输出:

 1+0im 3+5im 3+0im
Run Code Online (Sandbox Code Playgroud)

如预期的.


Gui*_*rza 9

你可能希望x很复杂.在这种情况下,您可以这样做:

x = Complex{Float64}[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

这可以让你做你想做的事.您还可以将Float64更改为Int或Int64等其他内容.

此外,你应该在条目之后放入逗号来获得一维数组而不是二维数组,这就是你的.要找到类型,请执行此操作

typeof(x) 
Run Code Online (Sandbox Code Playgroud)

这使

1x3 Array{Complex{Float64},1}:
 1.0+0.0im  2.0+0.0im  3.0+0.0im
Run Code Online (Sandbox Code Playgroud)

最后的1表示这是一维数组.