【问题标题】:How to define non-1 or arbitrary index array in Julia?如何在 Julia 中定义非 1 或任意索引数组?
【发布时间】:2021-07-29 04:56:18
【问题描述】:

我知道在 Julia 中,数组的索引从 1 开始。喜欢

b = Array{Float64, 1}(undef, 10)

这个数组 b 是一个有 10 个元素的一维数组。 b 的索引从 1 开始。

但是,我想要一个索引从 0 或任何整数开始的数组,如何在 Julia 中做到这一点?

说,我希望索引范围从 0 到 9,我尝试做类似的事情

b = Array{Float64, 1}(undef, 0:9)

但显然它在 Julia 中不起作用。

Julia 能否像 Fortran 一样轻松定义具有任意索引范围的数组? 我用 google 搜索了一下,在 Julia 中做到这一点似乎并不容易,我错过了什么吗?

在 Julia 中是否有一种通用的方法来定义任意索引数组?还是我必须安装 OffsetArrays 之类的软件包? Julia 不能泛泛地定义任意索引数组似乎不太好。

谢谢!

【问题讨论】:

  • 使用 OffsetArrays 包有什么问题?性能应该与 Array 相同。

标签: julia


【解决方案1】:

在 Julia 中,这是由 OffsetArrays 包提供的。例如尝试

using OffsetArrays
A = rand(10)
OA = OffsetArray(A, 0:9)
OA[0]

然后

julia> OA[0]
0.26079620656304203

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多