我的问题是如果我将所有变量定义为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
Run Code Online (Sandbox Code Playgroud)
它可能与整数和浮动类型有关,但我不知道我如何定义一切为Float64
不要这样做:pr1 = Float64.您可能认为这定义pr1为类型Float64,但实际上您定义pr1为类型名称的别名Float64.只是做pr1 = 100.0,朱莉娅会知道这是一个Float64.你可能想声明的是分配const不过,const pr1 = 100如果你不改变它.
另外,你不能,在Julia中用作小数点分隔符.pr1 = 100,0设置pr1元组的值(100,0).