Skip to content

Commit 9449444

Browse files
committed
Adding controls to discretesystem
1 parent e96bd34 commit 9449444

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/systems/discrete_system/discrete_system.jl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ struct DiscreteSystem <: AbstractSystem
3030
states::Vector
3131
"""Parameter variables. Must not contain the independent variable."""
3232
ps::Vector
33+
"""Control parameters (some subset of `ps`)."""
34+
ctrls::Vector
35+
"""Observed states."""
3336
observed::Vector{Equation}
3437
"""
3538
Name: the name of the system
@@ -63,6 +66,7 @@ Constructs a DiscreteSystem.
6366
"""
6467
function DiscreteSystem(
6568
discreteEqs::AbstractVector{<:Equation}, iv, dvs, ps;
69+
controls = Num[],
6670
observed = Num[],
6771
systems = DiscreteSystem[],
6872
name=gensym(:DiscreteSystem),
@@ -72,6 +76,7 @@ function DiscreteSystem(
7276
iv′ = value(iv)
7377
dvs′ = value.(dvs)
7478
ps′ = value.(ps)
79+
ctrl′ = value.(controls)
7580

7681
default_u0 isa Dict || (default_u0 = Dict(default_u0))
7782
default_p isa Dict || (default_p = Dict(default_p))
@@ -82,7 +87,7 @@ function DiscreteSystem(
8287
if length(unique(sysnames)) != length(sysnames)
8388
throw(ArgumentError("System names must be unique."))
8489
end
85-
DiscreteSystem(discreteEqs, iv′, dvs′, ps′, observed, name, systems, default_u0, default_p)
90+
DiscreteSystem(discreteEqs, iv′, dvs′, ps′, ctrl′, observed, name, systems, default_u0, default_p)
8691
end
8792

8893
"""

0 commit comments

Comments
 (0)