QuantizedStateSystems.jl
Documentation for QuantizedStateSystems.jl Julia package for solving initial value problems (IVP) defined by ordinary differential equations (ODE).
Functions
QuantizedStateSystems.qss1
— Methodtxarray,xarray,tqarray,qarray = qss1(f,x₀,tspan,Δq,tuarray,uarray)
Solve the initial value problem (IVP) for a given first-order ODE with inputs using the method of hysteretically quantized state system (QSS) or order 1.
For a single first-order explicit ODEs (aka state equation) ẋ = f(x,u)
, with the initial value x₀
specified at an initial time t₀
, and possibly a piecewise (control) input u
given by a pair of vectors tuarray
and uarray
of times and values, find the solution on the time span tspan=(t₀,t₁)
. The only parameter for the method is the quantum Δq
, while the hysteresis band has the same width as the quantum.
Arguments
f
: function defining the right hand side of the differential equation.x₀
: initial condition.tspan
: time span.Δq
: quantum.tuarray
: array of times at which the the input changes to a new constant value.uarray
: array of values of the piecewise constant input.
Outputs
txarray
: a vector of times when the value ofx
is computed, between these values it evolves linearly.xarray
: a vector of values ofx
corresponding to the times.tqarray
: a vector of times when the value of piecewise constantq
changes.qarray
: a vector of values of the piecewise constant quantizedq
.
Note that for a first-order system with no external events the x
and q
arrays are identical up to the initial values (x₀
before vs. after quantization).