-
-
Notifications
You must be signed in to change notification settings - Fork 70
Closed
Labels
Description
Describe the bug 🐞
This threw for me when trying to symbolically index a solution using sol[:x, end] which used to work. sol[:x][end] does work, but I wanted to flag this in case.
Expected behavior
Should return the last value instead of erroring.
Minimal Reproducible Example 👇
using ModelingToolkit: t_nounits as t, D_nounits as D
using OrdinaryDiffEqTsit5
@variables x(t)
@named sys = System([D(x) ~ 1], t)
prob = ODEProblem(complete(sys), [x => 1], (0, 1))
sol = solve(prob, Tsit5())
sol[x, end]Error & Stacktrace
ERROR: ArgumentError: invalid index: RaggedEnd(0, 2) of type RaggedEnd
Stacktrace:
[1] to_index(i::RaggedEnd)
@ Base ./indices.jl:315
[2] to_index(A::Vector{Vector{Float64}}, i::RaggedEnd)
@ Base ./indices.jl:292
[3] to_indices
@ ./indices.jl:368 [inlined]
[4] to_indices
@ ./indices.jl:360 [inlined]
[5] getindex
@ ./abstractarray.jl:1342 [inlined]
[6] state_values(sol::ODESolution{…}, i::RaggedEnd)
@ SciMLBase ~/.julia/packages/SciMLBase/hHrRi/src/solutions/solution_interface.jl:83
[7] (::SymbolicIndexingInterface.GetStateIndex{…})(::SymbolicIndexingInterface.Timeseries, prob::ODESolution{…}, i::RaggedEnd)
@ SymbolicIndexingInterface ~/.julia/packages/SymbolicIndexingInterface/D9aQf/src/state_indexing.jl:44
[8] (::SymbolicIndexingInterface.GetStateIndex{…})(prob::ODESolution{…}, i::RaggedEnd)
@ SymbolicIndexingInterface ~/.julia/packages/SymbolicIndexingInterface/D9aQf/src/value_provider_interface.jl:167
[9] _getindex
@ ~/.julia/packages/RecursiveArrayTools/cqMRn/src/vector_of_array.jl:476 [inlined]
[10] getindex(A::ODESolution{…}, _arg::Symbol, args::RaggedEnd)
@ RecursiveArrayTools ~/.julia/packages/RecursiveArrayTools/2UpjF/src/vector_of_array.jl:750
[11] top-level scope
@ REPL[39]:1Additional context
Add any other context about the problem here.