# dss2ss

Convert descriptor state-space model to explicit form

Since R2024a

## Syntax

``sys = dss2ss(dsys)``
``sys = dss2ss(dsys,"consistent")``

## Description

````sys = dss2ss(dsys)` eliminates the E matrix in the descriptor state-space model `dsys` and returns an explicit state-space model `sys`.$\begin{array}{l}E\stackrel{˙}{x}=Ax+Bu\\ y=Cx+Du\end{array}$ `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.```

example

````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.```

## Examples

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:

`$\mathit{J}\frac{\mathit{d}\omega }{\mathit{dt}}+\mathit{F}\omega =\mathit{T}$`

`$\mathit{y}=\omega$`

The state-space matrices for the cube are:

`$\begin{array}{l}A=-F,\phantom{\rule{0.2777777777777778em}{0ex}}\phantom{\rule{0.2777777777777778em}{0ex}}\phantom{\rule{0.2777777777777778em}{0ex}}B=I,\phantom{\rule{0.2777777777777778em}{0ex}}\phantom{\rule{0.2777777777777778em}{0ex}}\phantom{\rule{0.2777777777777778em}{0ex}}C=I,\phantom{\rule{0.2777777777777778em}{0ex}}\phantom{\rule{0.2777777777777778em}{0ex}}\phantom{\rule{0.2777777777777778em}{0ex}}D=0,\phantom{\rule{0.2777777777777778em}{0ex}}\phantom{\rule{0.2777777777777778em}{0ex}}\phantom{\rule{0.2777777777777778em}{0ex}}E=J,\\ where,\phantom{\rule{0.2777777777777778em}{0ex}}J=\left[\begin{array}{ccc}8& -3& -3\\ -3& 8& -3\\ -3& -3& 8\end{array}\right]\phantom{\rule{0.2777777777777778em}{0ex}}and\phantom{\rule{0.2777777777777778em}{0ex}}F=\left[\begin{array}{ccc}0.2& 0& 0\\ 0& 0.2& 0\\ 0& 0& 0.2\end{array}\right]\end{array}$`

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); syse.E```
```ans = [] ```

As you can see, the $\mathit{E}$ matrix is empty. The `dss2s` function provides an equivalent explicit transformation.

`sigma(sysd,syse,'r--')`

## 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