我是Julia的新手,正在尝试将LinRange转换为数组以进行进一步的计算。例如,我有:
julia> x = LinRange(0, 1, 100)
输出结果为:
100-element LinRange{Float64, Int64}: 0.0,0.010101,0.020202,0.030303,0.040404,0.0505051,0.0606061,0.0707071,0.0808081,0.0909091,0.10101,…,0.89899,0.909091,0.919192,0.929293,0.939394,0.949495,0.959596,0.969697,0.979798,0.989899,1.0
然后我使用以下方法将其转换为数组:
julia> x = [x]
输出结果:
1-element Vector{LinRange{Float64, Int64}}: range(0.0, stop=1.0, length=100)
但是,当我尝试像普通数组一样访问它时
julia> x[1]
我有整个LinRange作为输出:
100-element LinRange{Float64, Int64}: 0.0,0.010101,0.020202,0.030303,0.040404,0.0505051,0.0606061,0.0707071,0.0808081,0.0909091,0.10101,…,0.89899,0.909091,0.919192,0.929293,0.939394,0.949495,0.959596,0.969697,0.979798,0.989899,1.0
如果我尝试访问第二个元素,会出现以下错误:
julia> x[2]
错误:BoundsError:尝试访问索引[2]处的1个元素Vector{LinRange {Float64,Int64}}
我知道我应该“降一级”,但我该怎么做呢?例如尝试使用x [1,1]
始终输出整个LinRange。
[x]
创建了一个“向量的向量”。换句话说,您创建了一个具有一个元素的向量,该元素是一个范围,您没有对原始范围进行任何转换。向下“一级”将是x[1][1]
,而不是x[1,1]
。但是您确定需要首先转换范围吗? - DNF