为什么这个类型的数组是Any?

Sti*_*tix 1 type-inference julia

为什么Q类型为Any?我试图将它与Float64数组相乘并获得"无匹配方法"

qi=5000.0
b=0.9
di=0.6
mnths=600.0
t=1.0

AI=(1/b)*((1-di)^-b-1)
ai=AI/12

q(t)=qi/(1+b*ai*t)^(1/b)
Q=[q(t-1) for t=1:mnths]
Run Code Online (Sandbox Code Playgroud)

Dan*_*etz 5

全局范围中的类型推断更难(因为全局变量可以在任何地方重新分配).所以要么这样做

Q=Float64[q(t-1) for t=1:mnths]
Run Code Online (Sandbox Code Playgroud)

或将所有内容包装在一个函数中(无论如何这可能是一个好主意).

  • 或使用`const`声明常量. (2认同)