# 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)
默认 zeros
是 Float
, 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
谢谢~想起来了,在文档里有。明白了,多谢提醒。
嗯,如果你的发帖格式能再规范点就好了,把普通文本与代码区分开,不要全是代码
好的好的,我会规范发帖格式,向好的格式学习