首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Julia -Tuple:没有匹配的方法更少(::Float64,::MethodError{Int64,Int64})

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

Stack Overflow用户
提问于 2017-10-15 18:24:24
回答 1查看 1.6K关注 0票数 0

我的问题是,如果我将所有变量都定义为Float64,为什么会出现这个错误。应该不会有什么问题。

下面是我得到的代码和消息

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 2017-10-15 18:56:35

不要这样做:pr1 = Float64。您可能认为这将pr1定义为Float64类型,但实际上您将pr1定义为类型名称Float64的别名。只要做pr1 = 100.0,朱莉娅就会知道它是一个Float64。如果不更改赋值,您可能希望将该赋值声明为constconst pr1 = 100

此外,在Julia中不能使用,作为小数点分隔符。pr1 = 100,0pr1的值设置为元组(100,0)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46754016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档