假设results
是长度为 M
的元组向量哪里typeof(result) = Vector{NamedTuple{(:x, :p, :step), Tuple{Vector{Float64}, Float64, Int64}}}
.
p
也是长度为 N
的向量哪里typeof(results[1].p) = Vector{Float64}
。我想提取第一个N-1
所有p
的元素里面results
并将其表示为M x (N-1)
矩阵。我知道如何在 for 循环中执行此操作,但是有更多元素的方法吗?
最佳答案
这些都应该按照您的要求执行,但它们返回一个 (N-1 x M)
矩阵,我认为它们非常相似
hcat(map(x->x.p[1:N-1], results)...)
hcat([x.p[1:N-1] for x in results]...)
对于(M x N-1)
输出
vcat(map(x->x.p[1:N-1]', results)...)
vcat([x.p[1:N-1]' for x in results]...)
应该可以,但速度有点慢。
关于function - 在 Julia 中将命名元组向量的元素提取到矩阵中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72162611/