11import ModelingToolkit. SymbolicUtils. FnType
22
33function _generate_deqs (x:: Basis , states, iv, p)
4- @assert length (x) == length (states)
4+ @assert length (x) == length (states)
55 # Create new variables with time dependency
66 ∂t = Differential (iv)
7- dvs = [Num (Sym {FnType{Tuple{Any}, Real}} (_get_name (xi))(value (iv))) for xi in states]
7+ dvs = [Num (Sym {FnType{Tuple{Any}, Real}} (_get_name (xi))(value (iv))) for xi in states]
88 dvsdt = ∂t .(dvs)
99 # Adapt equations
1010 eqs = dvsdt .~ x (dvs,p,iv)
@@ -16,17 +16,16 @@ $(SIGNATURES)
1616
1717Convert a given `Basis` or `SparseIdentificationResult` into an `ODESystem`. For details, see ModelingToolkit.jl.
1818"""
19- function ModelingToolkit. ODESystem (x:: Basis , iv = nothing , dvs = Num[], ps = Num[]; pins = Num[], observed = Num[], systems = ODESystem[],kwargs... )
19+ function ModelingToolkit. ODESystem (x:: Basis , iv = nothing , dvs = Num[], ps = Num[]; observed = Num[], systems = ODESystem[],kwargs... )
2020 iv = isnothing (iv) ? independent_variable (x) : iv
2121 dvs = isempty (dvs) ? variables (x) : dvs
2222 ps = isempty (ps) ? parameters (x) : ps
2323 eqs, dvs = _generate_deqs (x, dvs, iv, ps)
24- pins = isempty (pins) ? x. pins : pins
2524 observed = isempty (observed) ? x. observed : observed
2625 systems = isempty (systems) ? x. systems : systems
2726 return ODESystem (
2827 eqs, iv, dvs, ps,
29- pins = pins, observed = observed, systems = systems, kwargs... )
28+ observed = observed, systems = systems, kwargs... )
3029end
3130
3231function ModelingToolkit. ODESystem (b:: SparseIdentificationResult , iv = nothing , dvs = Num[], ps = Num[]; kwargs... )
@@ -46,7 +45,7 @@ function _generate_deqs(x::Basis, states, iv, p, controls)
4645 states_ = _remove_controls (states, controls)
4746 @assert length (x) == length (states_)
4847 ∂t = Differential (iv)
49- dvs = [Num (Sym {FnType{Tuple{Any}, Real}} (_get_name (xi))(value (iv))) for xi in states_]
48+ dvs = [Num (Sym {FnType{Tuple{Any}, Real}} (_get_name (xi))(value (iv))) for xi in states_]
5049 input_states = _create_input_vec (states, dvs, controls)
5150 dvsdt = ∂t .(dvs)
5251 # Adapt equations
@@ -77,20 +76,19 @@ $(SIGNATURES)
7776
7877Convert a given `Basis` or `SparseIdentificationResult` into a `ControlSystem`. For details, see ModelingToolkit.jl.
7978"""
80- function ModelingToolkit. ControlSystem (loss, x:: Basis , controls, iv = nothing , dvs = nothing , ps = nothing ;
81- pins = Num[], observed = Num[], systems = ODESystem[], kwargs... )
79+ function ModelingToolkit. ControlSystem (loss, x:: Basis , controls, iv = nothing , dvs = nothing , ps = nothing ;
80+ observed = Num[], systems = ODESystem[], kwargs... )
8281 iv = isnothing (iv) ? independent_variable (x) : iv
8382 dvs = isnothing (dvs) ? variables (x) : dvs
8483 ps = isnothing (ps) ? parameters (x) : ps
8584 eqs, dvs, input_states = _generate_deqs (x, dvs, iv, ps, controls)
8685 # return input_states
8786 subs = [(xi => is) for (xi, is) in zip (variables (x), input_states)]
8887 loss = substitute .(loss, (subs,))[1 ]
89- pins = isempty (pins) ? x. pins : pins
9088 observed = isempty (observed) ? x. observed : observed
9189 systems = isempty (systems) ? x. systems : systems
9290 return ControlSystem (loss, eqs, iv, dvs, controls, ps,
93- pins = pins, observed = observed, systems = systems, kwargs... )
91+ observed = observed, systems = systems, kwargs... )
9492end
9593
9694function ModelingToolkit. ControlSystem (loss, b:: SparseIdentificationResult , controls, iv = nothing , dvs = Num[], ps = Num[]; kwargs... )
0 commit comments