如何在 Julia 中将数组转换为数组?

Posted

技术标签:

【中文标题】如何在 Julia 中将数组转换为数组?【英文标题】:How to convert an array of array to array in Julia? 【发布时间】:2021-04-12 23:33:27 【问题描述】:

在下面的示例中,我得到一个数组数组作为输出。我想寻求建议将其减少到n-element vector

示例:我有一个向量 x,然后我对输出 a 的数组的前 2 个元素执行减法。

x = Float64.([1,2,3,4,5])
a= x[2,:] - x[1,:]
1-element VectorFloat64:
 1.0

现在当我收集以下范围时,它返回数组数组,如下所示。

c = collect(range(minimum(x).*a, maximum(x).*a, length=10))
10-element VectorVectorFloat64:
 [1.0]
 [1.4444444444444444]
 [1.8888888888888888]
 [2.333333333333333]
 [2.7777777777777777]
 [3.2222222222222223]
 [3.6666666666666665]
 [4.111111111111111]
 [4.555555555555555]
 [5.0]

我想知道如何将其转换为可以输出以下结果的向量?

# Expected result:
10-element VectorFloat64:
 1.0
 1.4444444444444444
 1.8888888888888888
 2.333333333333333
 2.7777777777777777
 3.2222222222222223
 3.6666666666666665
 4.111111111111111
 4.555555555555555
 5.0

谢谢!!

【问题讨论】:

【参考方案1】:

在构造a 时,您需要a= x[2] - x[1]。那么a 将是一个标量,其他一切都将按预期运行。

【讨论】:

【参考方案2】:

一般来说,你可以使用splatting和vcat的组合:

julia> xs = [[1],[2,3],[],[4],[5,6,7]]
5-element VectorVectorAny:
 [1]
 [2, 3]
 []
 [4]
 [5, 6, 7]

julia> vcat(xs...)
7-element VectorAny:
 1
 2
 3
 4
 5
 6
 7

话虽如此,我会听从 Oscar Smith 的建议并解决根本问题。

【讨论】:

以上是关于如何在 Julia 中将数组转换为数组?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Julia 中将 JSON 字符串转换为多个结构

如何在 Xcode 中将 JSON 数组转换为数组?

如何在 Swift 中将单个数组转换为嵌套数组? [复制]

如何在php中将字节数组转换为整数?

如何在c ++中将int数组转换为字节数组[重复]

如何在Java中将浮点数组转换为双精度数组?