InexactError

        # code
Ui=zeros(2,1)
U=[1;0]
Ang=[1;1]
for i=1:2
    Ui[i]=U[i].*(cos(Ang[i])+sin(Ang[i])*im)
end
println("Ui为")
println(Ui)

        ```
报错提示:ERROR: LoadError: InexactError: Float64(0.5403023058681398 + 0.8414709848078965im)
Stacktrace:
 [1] Real at .\complex.jl:37 [inlined]
 [2] convert at .\number.jl:7 [inlined]
 [3] setindex!(::Array{Float64,2}, ::Complex{Float64}, ::Int64) at .\array.jl:826
 [4] top-level scope at D:\test\Inexact.jl:5
in expression starting at D:\test\Inexact.jl:4
问题:这错误是什么意思?第五行哪里有问题呢?

请用

Ui=zeros(Complex,2,1)

默认 zerosFloat, Complex 无法转换为 Float

我的用意是
i=1时
Ui=1*(cos1+sin1im)=0.9998+0.01745im
i=2时
Ui=0
(cos1+sin1*im)=0
最终输出Ui=[0.9998+0.01745im;0]
第五行的表达式问题出在哪了呢

问题出在 Array{Float64,2} 这里

julia> Ui=zeros(2,1)
2×1 Array{Float64,2}:
0.0
0.0

谢谢~想起来了,在文档里有。明白了,多谢提醒。 :blush:

嗯,如果你的发帖格式能再规范点就好了,把普通文本与代码区分开,不要全是代码

好的好的,我会规范发帖格式,向好的格式学习

京ICP备17009874号-2