MathematicalSystems.jl icon indicating copy to clipboard operation
MathematicalSystems.jl copied to clipboard

Parsing systems defined by ModelingToolkit

Open mforets opened this issue 4 years ago • 0 comments

We can already define some lazy sets using ModelingToolkit types. The next step would be to allow creating systems and the natural place is to do it in this library. Ideally @system should create an "appropriate" system, eg. below, a linear system without inputs.

For instance,

@parameters t
@variables x(t) y(t)
@derivatives D'~t

f = [D(x) ~ y, D(y) ~ -x]
2-element Array{Equation,1}:
 Equation(derivative(x(t), t), y(t))
 Equation(derivative(y(t), t), -(x(t)))

G = HalfSpace(x >= 1.25, [x, y]) # works
HalfSpace{Float64,Array{Float64,1}}([-1.0, 0.0], -1.25)

@ivp(x' = f(x), x(0) ∈ X0) # to-do
ArgumentError: for a blackbox system, the dimension has to be defined

Stacktrace:
 [1] top-level scope at In[72]:

mforets avatar Jul 05 '20 00:07 mforets