using DynamicalSystems
ds = Systems.gissinger(ones(3)) # 3D continuous chaotic system, also shown in orbit diagrams tutorial
dt = 0.05
data = trajectory(ds, 1000.0, dt = dt)
s = data[:, 1]
τ = estimate_delay(s, "mi_min", 0:1:400)
ERROR: BoundsError: attempt to access 98-element Array{Float64,1} at index [99]
Stacktrace:
[1] getindex at .\array.jl:729 [inlined]
[2] _frequencies!(::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}) at C:\Users\datseris\.julia\dev\DelayEmbeddings\src\estimate_delay.jl:269
[3] _mutualinfo!(::Array{Float64,1}, ::Array{Float64,1}, ::Array{Int64,1}, ::Array{Float64,1}) at C:\Users\datseris\.julia\dev\DelayEmbeddings\src\estimate_delay.jl:240
[4] #mutualinformation#56(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Array{Float64,1}, ::StepRange{Int64,Int64}) at C:\Users\datseris\.julia\dev\DelayEmbeddings\src\estimate_delay.jl:207
[5] mutualinformation at C:\Users\datseris\.julia\dev\DelayEmbeddings\src\estimate_delay.jl:197 [inlined]
[6] #estimate_delay#39(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Array{Float64,1}, ::String, ::StepRange{Int64,Int64}) at C:\Users\datseris\.julia\dev\DelayEmbeddings\src\estimate_delay.jl:50
[7] estimate_delay(::Array{Float64,1}, ::String, ::StepRange{Int64,Int64}) at C:\Users\datseris\.julia\dev\DelayEmbeddings\src\estimate_delay.jl:33
[8] top-level scope at none:0
Increasing the total integration time seems to fix it, but I do not know where the bug is coming from.