如何在julia中生成常规的非整数序列?
我想要的 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
在MATLAB中,我会使用
0.1:0.1:1
Run Code Online (Sandbox Code Playgroud)
在R
seq(0.1, 1, by = 0.1)
Run Code Online (Sandbox Code Playgroud)
但是除了julia中的整数序列之外我找不到任何东西(例如1:10).在文档中搜索"序列"只能提供有关字符串序列的信息.
Nic*_*ico 14
类似于Matlab的,但不同之处在于0.1:0.1:1限定Range:
julia> typeof(0.1:0.1:1)
Range{Float64} (constructor with 3 methods)
Run Code Online (Sandbox Code Playgroud)
因此如果Array需要:
julia> [0.1:0.1:1]
10-element Array{Float64,1}:
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
Run Code Online (Sandbox Code Playgroud)
编辑:正如@ivarne的评论中所提到的,使用linspace可以实现类似的结果:
julia> linspace(.1,1,10)
10-element Array{Float64,1}:
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
Run Code Online (Sandbox Code Playgroud)
但请注意,由于舍入差异,结果并不完全相同:
julia> linspace(.1,1,10)==[0.1:0.1:1]
false
Run Code Online (Sandbox Code Playgroud)
现在不赞成使用原始答案。您应该collect()用来生成序列。
## In Julia
> collect(0:.1:1)
10-element Array{Float64,1}:
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
## In R
> seq(0, 1, .1)
[1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
Run Code Online (Sandbox Code Playgroud)