我是初学者,最近想利用Julia实现一个微分方程求解的程序,尝试复现https://www.juliabloggers.com/runge-kutta-methods/中的源代码
但粘贴初始代码后,运行提示ERROR: LoadError: MethodError: no method matching zeros(::Array{Float64,1}),请问这种情况应该如何处理?
zeros(xxx)
=> zeros(size(xxx))
多谢了!可能是Julia版本升级的问题
再次感谢!
直接 zero
即可,例如
julia> A = rand(2, 2)
2×2 Array{Float64,2}:
0.865974 0.342402
0.776708 0.335041
julia> zero(A)
2×2 Array{Float64,2}:
0.0 0.0
0.0 0.0
原来的 zeros
有歧义,所以后来改成了更加统一的 zero
,任何Julia的数值对象都有这个方法,例如普通的数字
julia> a = 1
1
julia> zero(a)
0
对 AbstractArray
的子类型,这等价于
fill!(similar(A), zero(eltype(A)))