Julia - MethodError:没有方法匹配更少(:: Float64,:: Tuple {Int64,Int64})

Lva*_*los 0 julia

我的问题是如果我将所有变量定义为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

Mic*_*ard 5

不要这样做:pr1 = Float64.您可能认为这定义pr1为类型Float64,但实际上您定义pr1为类型名称的别名Float64.只是做pr1 = 100.0,朱莉娅会知道这是一个Float64.你可能想声明的是分配const不过,const pr1 = 100如果你不改变它.

另外,你不能,在Julia中用作小数点分隔符.pr1 = 100,0设置pr1元组的值(100,0).