2017-10-15 21 views
0

我的問題是關於爲什麼我得到這個錯誤,如果我已經定義所有變量爲Float64。應該沒有問題。朱莉婭 - 方法錯誤:沒有方法匹配少(:: Float64,:: Tuple {Int64,Int64})

這裏是代碼和消息,我得到

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

回答

5

不要這樣做:pr1 = Float64。您可能認爲這將pr1定義爲Float64類型,但實際上將pr1定義爲類型名稱Float64的別名。只要做pr1 = 100.0和朱莉婭會知道它是一個Float64。如果你不改變它,你可能想要宣佈那個作業const,但是,const pr1 = 100

此外,你不能使用,作爲朱莉婭的小數分隔符。 pr1 = 100,0將值pr1設置爲Tuple (100,0)