Method of mdss.
Linearize an implicit MTI model around an operating point (not necessarily an equilibrium).
Source: src/model/@mdss/linearize.m
lsys = linearize(sys, xdot_op, x_op, u_op, y_op, z_op)
[A, B, C, D, E] = linearize(sys, xdot_op, x_op, u_op, y_op, z_op)linearize forms a first-order Taylor approximation of
the implicit system
around the operating point and returns a linear descriptor state-space model. Writing the deviations , it assembles
with
,
,
,
all read from the model jacobian at the
operating point. Outputs are selected by the modelโs
stateIsOutput / algebraicIsOutput index sets;
define them before linearizing or C/D are
empty and a warning is issued.
With one output argument a sparss descriptor model is
returned (its sample time inherited from sys.timeStepSize);
with five, the raw A, B, C, D, E matrices are returned.
Note
The operating point need not be an equilibrium. Inequality constraints are ignored during linearization.
| Argument | Description |
|---|---|
sys |
The mdss model. |
xdot_op |
State-derivative / next-state operating point
(sys.nState). |
x_op |
State operating point (sys.nState). |
u_op |
Input operating point (sys.nInput; [] if
none). |
y_op |
Algebraic operating point (sys.nAlgebraic;
[] if none). |
z_op |
Binary operating point (sys.nBinary; [] if
none). |
sys = stringParser.symbolicToMdss(["xp1 = -2*x1 + x1*x2"; ...
"xp2 = -x2 + u1"], 0);
sys.stateIsOutput = [1 2]; % both states are outputs
lsys = linearize(sys, [0 0], [1 0], 0, [], []);
% lsys is a sparss descriptor model (E, A, B, C, D)MyToolbox Documentation | Generated automatically by CI/CD pipeline