在 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
结果0.0:0.001:2.449确实是一系列均匀间隔的值,并且可以像任何其他AbstractArray. 例如:
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\nRun Code Online (Sandbox Code Playgroud)\n如果出于任何原因你想变成xi2一个完全Array抢占式的,你可以这样做collect
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\nRun Code Online (Sandbox Code Playgroud)\n可以这么说,这将“具体化”范围。这比您想象的要占用更多的内存Range,而且必要性也比您想象的要低。