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 uarrayof 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 ofxis computed, between these values it evolves linearly.xarray: a vector of values ofxcorresponding to the times.tqarray: a vector of times when the value of piecewise constantqchanges.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).