我的问题是如果我将所有变量定义为Float64,为什么会出现此错误。不应该有问题。
这是代码和我得到的消息
pr = Array{Float64}(1001)
succ = Array{Float64}(1001)
pr1 = Float64
pr2 = Float64
pr3 = Float64
pr4 = Float64
pr5 = Float64
succ1 = Float64
succ2 = Float64
succ3 = Float64
succ4 = Float64
succ5 = Float64
pr1 = 100,0
pr2 = 80,0
pr3 = 50,0
pr4 = 30,0
pr5 = 0,0
succ1 = 0,5
succ2 = 0,6
succ3 = 0,85
succ4 = 0,95
succ5 = 1
x = Float64
for x = 1:1:1001
pr[x]= (x-1)/10
if pr[x] == pr5
succ[x] = succ5
elseif pr[x] < pr4
succ[x] = succ4 + (succ5 - succ4) * (pr5 - pr[x]) / (pr4-pr5)
elseif pr[x] < pr3
succ[x] = succ3 + (succ4 - succ3) * (pr4 - pr[x]) / (pr3-pr4)
elseif pr[x] < pr2
succ[x] = succ2 + (succ3 - succ2) * (pr3 - pr[x]) / (pr2-pr3)
elseif pr[x] < pr1
succ[x] = succ1 + (succ2 - succ1) * (pr2 - pr[x]) / (pr1-pr2)
elseif pr[x] == pr1
succ[x] = succ1
end
println(succ[x])
end
它可能与整数和浮动类型有关,但我不知道我如何将所有内容定义为Float64
答案 0 :(得分:5)
不要这样做:pr1 = Float64
。您可能认为这会将pr1
定义为Float64
类型,但您实际上将pr1
定义为类型名称Float64
的别名。只需pr1 = 100.0
,Julia就会知道它是Float64
。您可能希望声明该作业const
,const pr1 = 100
,如果您不进行更改。
此外,您无法在Julia中使用,
作为小数点分隔符。 pr1 = 100,0
将pr1
的值设置为元组(100,0)
。