linearize

Method of mss.

Linearize an explicit MTI model around an operating point (not necessarily an equilibrium).

Source: src/model/@mss/linearize.m

Syntax

lsys           = linearize(msys, x_op, u_op)
[A, B, C, D]   = linearize(msys, x_op, u_op)
lsys           = linearize(msys, x_op)          % only if nInput == 0

Description

linearize forms the first-order Taylor approximation of the explicit multilinear system

δx=f(x,u),y=g(x,u) \delta x = f(x,u), \qquad y = g(x,u)

around (xop,uop)(x_\text{op}, u_\text{op}). The state evolution δx\delta x is valid for both continuous-time ẋ\dot x or discrete-time xk+1x_{k+1}.

The result is a linear state-space model in the deviations Δx=xxop\Delta x = x - x_\text{op}, Δu=uuop\Delta u = u - u_\text{op}, and Δy=yyop\Delta y = y - y_\text{op}, as

δΔx=AΔx+BΔu,Δy=CΔx+DΔu. \delta\,\Delta x = A\,\Delta x + B\,\Delta u, \qquad \Delta y = C\,\Delta x + D\,\Delta u.

The four matrices are taken straight off the model Jacobians as

A=f(xop,uop)x,B=f(xop,uop)uC=g(xop,uop)x,D=g(xop,uop)u, \begin{aligned} A = \frac{\partial f(x_\text{op}, u_\text{op})}{\partial x}, \quad B= \frac{\partial f (x_\text{op}, u_\text{op})}{\partial u} \\ C = \frac{\partial g(x_\text{op}, u_\text{op})}{\partial x}, \quad D= \frac{\partial g(x_\text{op}, u_\text{op})}{\partial u}, \end{aligned}

see [1] or [2] for further details.

The operating point does not have to be an equilibrium — linearize never checks if f(xop,uop)=0f(x_\text{op},u_\text{op}) = 0. Users can verify equilibrium conditions by calling functionValue and outputValue first.

Input arguments

Argument Description
msys The mss model.
x_op State operating point (msys.nState elements).
u_op Input operating point (msys.nInput elements); may be omitted when the model has no inputs.

Output arguments

Output Description
lsys (one output) sparss model with the sample time and signal names of msys.
A, B, C, D (several outputs) Raw linearization matrices: nState×nState, nState×nInput, nOutput×nState, nOutput×nInput.

Example

sys = rmss(3,1,1,4);

lsys = linearize(sys, [1; 0; -1], 0.5);       % sparss model
[A,B,C,D] = linearize(sys, [1; 0; -1], 0.5);  % raw matrices
eig(A)              % local stability at the operating point

References

  1. Kaufmann, Christoph, et al. Small-Signal Stability Analysis of Power Systems by Implicit Multilinear Models. IEEE access (2026).
  2. Kaufmann, Christoph, et al. Efficient linearization of explicit multilinear systems using normalized decomposed tensors IFAC-PapersOnLine 56.2 (2023)

See also

stateJacobian · outputJacobian · msim · mss · linearize


MyToolbox Documentation | Generated automatically by CI/CD pipeline