在打印结果之前,我试图计算二次公式并将结果放在数组中:
function f(a, b, c)
r1 = (-b+sqrt(complex(b^2-4*a*c)))/2.0*a
r2 = (-b-sqrt(complex(b^2-4*a*c)))/2.0*a
x = [r1][r2]
println(x)
end
但是,我得到了以下错误:
f(1, 2, 3)
ArgumentError:无效索引:-1.01.4142135623730951im类型ComplexF64
发布于 2021-07-18 23:30:35
此代码可能如下所示:
function f(a, b, c)
Δsqrt = √(b^2-4a*c+0im)
r1 = (-b+Δsqrt)/2a
r2 = (-b-Δsqrt)/2a
[r1, r2] # or use tuple (r1, r2)
end
还有一些例子:
julia> f(1,0,1)
2-element Vector{ComplexF64}:
0.0 + 1.0im
0.0 - 1.0im
julia> f(1,0,-1)
2-element Vector{ComplexF64}:
1.0 + 0.0im
-1.0 - 0.0im
https://stackoverflow.com/questions/68429236
复制相似问题