ss2mdss

Static method of mdss.

Convert a MATLAB ss/dss model into an equivalent implicit MTI (mdss) model.

Source: src/model/@mdss/ss2mdss.m

Overview

ss2mdss converts a linear time-invariant state-space model

Eδx=Ax+Bu, E \ \delta x=Ax+Bu,

y=Cx+Du, y=Cx+Du,

represented as a MATLAB ss or dss object into an equivalent implicit multilinear differential state-space (mdss) model. The state evolution δx\delta x is valid for both continuous-time ẋ\dot x or discrete-time xk+1x_{k+1}.

The function preserves the descriptor form of the system and therefore supports models with singular descriptor matrix E.

The resulting MDSS model is represented by the equations

0=EδxAxBu, 0=E \ \delta x-Ax-Bu,

0=yCxDu, 0=y-Cx-Du,

where the outputs of the original state-space model become algebraic variables in the MDSS model. These algebraic variables are automatically marked as outputs (algebraicIsOutput) in the generated mdss object.

The generated mdss object preserves the state, input, and output names from the original linear model.

Input arguments

Argument Description
lsys Linear time-invariant state-space model of type ss or dss.
tensorType Internal tensor representation. Default: "CPNTensor". Currently, only "CPNTensor" (Norm-1 Canonical Polyadic tensor representation) is supported.

Output arguments

Output Description
msys Implicit multilinear differential state-space model of type mdss, equivalent to the input linear system.

Syntax

msys = mdss.ss2mdss(lsys)
msys = mdss.ss2mdss(lsys,"CPNTensor")

Convert a standard state-space model

A = [0 1;
    -2 -3];
B = [0;
     1];
C = [1 0];
D = 0;

sys = ss(A,B,C,D);

msys = mdss.ss2mdss(sys);

Convert a descriptor system

E = [2 0;
     0 0];

A = [0 1;
    -2 -3];

B = [0;
     1];

C = [1 0];
D = 0;

sys = dss(A,B,C,D,E);

msys = mdss.ss2mdss(sys);

See Also


MyToolbox Documentation | Generated automatically by CI/CD pipeline