Julia ODE包示例失败

时间:2014-10-19 21:21:45

标签: julia ode

我想使用Julia ODE包。我在网上看到了这个例子:

tspan = [0 2*pi()] y_0 = [1 0]' F = (t, y) -> [0 1; -1 0]*y ode23(F, tspan, y_0)

(来源:https://github.com/JuliaLang/julia/blob/84757050b26ed549b9aee77ac7c204d9963285a2/j/ode.j

然而,当我运行它时,我收到以下错误:

ERROR: DimensionMismatch("*")
 in generic_matmatmul! at linalg/matmul.jl:372
 in * at linalg/matmul.jl:117
 in anonymous at none:1
 in ode23 at /home/rm/.julia/v0.4/ODE/src/ODE.jl:67

一个简单的例子对我非常有帮助,谢谢先进的

1 个答案:

答案 0 :(得分:2)

您链接的示例来自2011年。代码至少有两个错误。一,调用pi()是不正确的; pi现在是一个常数。第二个是从base移动到ODE包的代码。一个工作示例(使用Julia 0.4)可以在以下位置看到:

https://github.com/JuliaLang/ODE.jl/blob/master/src/ODE.jl#L36-39

using ODE
tspan = [0, 2*pi]
y0 = [1, 0]
F = (t, y) -> [0 1; -1 0]*y
ode23(F, tspan, y0)

请注意,我对解决这些类型的方程式一无所知,我只知道从基础移动到单独的包中的一些历史。