Julia 相当于 Python numpy“arange”

Dil*_*ila 5 julia

在 Python 中,我可以使用以下命令创建均匀间隔值的数组

xi2 = np.arange(0, np.sqrt(6), 1e-3)
Run Code Online (Sandbox Code Playgroud)

我该如何用 Julia 写这个?我试过,

xi2 = range(0,sqrt(6),step=1e-3)
Run Code Online (Sandbox Code Playgroud)

但这会返回0.0:0.001:2.449

cbk*_*cbk 9

结果0.0:0.001:2.449确实是一系列均匀间隔的值,并且可以像任何其他AbstractArray. 例如:

\n
julia> xi2 = range(0,sqrt(6),step=1e-3)\n0.0:0.001:2.449\n\njulia> xi2[1]\n0.0\n\njulia> xi2[100]\n0.099\n\njulia> length(xi2)\n2450\n\njulia> isa(xi2, AbstractArray)\ntrue\n\njulia> sin.(xi2)\n2450-element Vector{Float64}:\n 0.0\n 0.0009999998333333417\n 0.0019999986666669333\n 0.002999995500002025\n \xe2\x8b\xae\n 0.6408405168240852\n 0.6400725224915994\n 0.6393038880866445\n 0.6385346143778549\n\n
Run Code Online (Sandbox Code Playgroud)\n

如果出于任何原因你想变成xi2一个完全Array抢占式的,你可以这样做collect

\n
julia> collect(xi2)\n2450-element Vector{Float64}:\n 0.0\n 0.001\n 0.002\n 0.003\n \xe2\x8b\xae\n 2.446\n 2.447\n 2.448\n 2.449\n
Run Code Online (Sandbox Code Playgroud)\n

可以这么说,这将“具体化”范围。这比您想象的要占用更多的内存Range,而且必要性也比您想象的要低。

\n

  • 创建物化版本的最短方法是“[0:.001:√6;]” (3认同)