我想在Julia中创建一个0到1之间的10个元素的线性间隔数组。我尝试了linspace
命令。
julia> linspace(0.0,1.0,10)
这是我得到的输出。
linspace(0.0,1.0,10)
我以为我应该得到一个数组作为输出。我无法弄清楚我做错了什么。 我从命令行使用Julia v0.4.3。我从Juno IDE尝试了同样的东西,它在那里工作得很好。
答案 0 :(得分:3)
实际上,这是一个类似数组的对象!它只是显示自己有点奇怪,因为它会在您要求时即时生成其值。这类似于范围,其中1:1000000
只会向您发送1:1000000
,而无需分配和计算所有百万元素。
julia> v = linspace(0,1,10)
linspace(0.0,1.0,10)
julia> for elt in v
println(elt)
end
0.0
0.1111111111111111
0.2222222222222222
0.3333333333333333
0.4444444444444444
0.5555555555555556
0.6666666666666666
0.7777777777777778
0.8888888888888888
1.0
julia> v[3]
0.2222222222222222
linspace
对象的显示在开发版本0.5中发生了变化,因为其他人也有同样的反应。它现在显示了它将生成的元素的预览:
julia-0.5> linspace(0,1,10)
10-element LinSpace{Float64}:
0.0,0.111111,0.222222,0.333333,0.444444,0.555556,0.666667,0.777778,0.888889,1.0
julia-0.5> linspace(0,1,101)
101-element LinSpace{Float64}:
0.0,0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,…,0.91,0.92,0.93,0.94,0.95,0.96,0.97,0.98,0.99,1.0