Method of discreteTimeMdss.
March a discrete-time mdss model forward one
sample at a time.
Source:
src/simulator/@discreteTimeMdss/discreteSimulation.m
At sample , given the current state , solve the implicit multilinear map for the successor state and the algebraic/binary signals:
where
and
is the norm-1 monomial vector. For a discrete mdss the
“state-delta” row holds the successor state
,
so the per-sample unknowns are
.
Each sample is solved with solveStepBruteForce.
The discretizationType selects which input drives the
step:
forward / none → drive with
,
store
at sample
;backward → drive with
,
store
at sample
.If a step returns NaN or violates the residual tolerances (, ), it is retried once with an alternative algebraic guess and the smaller-residual result is kept:
If no feasible solution is found the march stops, the remaining
trajectory is filled with NaN, and a warning is issued. Results are
assembled into sim.variableTrajectory
with sim.time and sim.eventTime set to the
sample times.
| Argument | Description |
|---|---|
sim |
The discreteTimeMdss object, with the model, initial
state, input trajectory and solver options set. |
| Output | Description |
|---|---|
sim |
The same object with time,
variableTrajectory and eventTime filled
in. |
discreteTimeMdss
· solveStepBruteForce
· determineParallizedSolvingOrder
· msim
MyToolbox Documentation | Generated automatically by CI/CD pipeline