Main Content


Convert descriptor state-space model to explicit form

Since R2024a


    sys = dss2ss(dsys) eliminates the E matrix in the descriptor state-space model dsys and returns an explicit state-space model sys.


    dsys must be proper and sys has fewer states than dsys when E is singular (the explicit form removes the algebraic variables). Use findop to compute matching initial conditions when the state is reduced.


    sys = dss2ss(dsys,"consistent") takes an array of descriptor state-space models dsys and eliminates E while preserving state consistency, that is, all models in sys share the same state vector x. This requires all E matrices to be invertible.


    collapse all

    This example shows how to use dss2ss to convert a state-space model in descriptor form to explicit form.

    For this example, consider a cube rotating about its corner with inertia tensor J and a damping force F of 0.2 magnitude. The input to the system is the driving torque while the angular velocities are the outputs. The equation is given by:



    The state-space matrices for the cube are:


    Specify the A, B, C and D matrices, and create the continuous-time descriptor state-space model.

    J = [8 -3 -3; -3 8 -3; -3 -3 8];
    F = 0.2*eye(3);
    A = -F;
    B = eye(3);
    C = eye(3);
    D = 0;
    E = J;
    sysd = dss(A,B,C,D,E);

    To convert this model to explicit form, use dss2ss.

    syse = dss2ss(sysd);
    ans =

    As you can see, the E matrix is empty. The dss2s function provides an equivalent explicit transformation.


    Input Arguments

    collapse all

    Descriptor state-space model, specified as a state-space model or an array of state-space models.

    Output Arguments

    collapse all

    Explicit state-space model, returned as a state-space model or an array of state-space models.

    Version History

    Introduced in R2024a

    See Also