gpt4 book ai didi

julia - 在 Julia 中滞后并领先

转载 作者:行者123 更新时间:2023-12-01 17:40:57 25 4
gpt4 key购买 nike

我想像这样转动一个数组

[1,2,3,4,5]

进入滞后版本

[missing,1,2,3,4] # lag 1
[missing,missing,1,2,3] # lag 2

或带灯的版本

[2,3,4,5,missing] # lead 1
[3,4,5,missing,missing] # lead 2

Julia 是为科学计算而设计的,一定有这样的东西吧?

最佳答案

添加 ShiftedArrays。请参阅:https://discourse.julialang.org/t/ann-shiftedarrays-and-support-for-shiftedarrays-in-groupederrors/9162

引用上面的内容:

lag,lead 函数,用于移动数组并在数据不可用的地方添加缺失(或最新未发布版本中的自定义默认值),或用于以惰性(非分配)方式循环移动的 circshift:

julia> v = [1.2, 2.3, 3.4]
3-element Array{Float64,1}:
1.2
2.3
3.4

julia> lag(v)
3-element ShiftedArrays.ShiftedArray{Float64,Missings.Missing,1,Array{Float64,1}}:
missing
1.2
2.3

注意延迟的 ShiftedArray 版本保持数组大小相同。您可以添加一个简短的函数,使其按照您要求的方式运行:

biglag(v, n) = lag(vcat(v, v[1:n]), n)

关于julia - 在 Julia 中滞后并领先,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60592694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com