# Дескрипторные системы

#### Получение дескрипторной модели в пространстве состояний из дифференциально-алгебраического уравнения.

 In[1]:= XStateSpaceModel[{Subscript[x, 1]'[t] == Subscript[x, 1][t] + u[t], Subscript[x, 2][t] - 0.4 Subscript[x, 1][t] == 0}, {Subscript[x, 1][ t], Subscript[x, 2][t]}, {u[t]}, Subscript[x, 1][t], t]
 Out[1]=

#### Дескрипторная модель в пространстве состояний строится из матрицы состояний, матрицы входа, матрицы выхода, передаточной и дескрипторной матриц.

 In[2]:= XStateSpaceModel[{\!\(\* TagBox[ RowBox[{"(", "", GridBox[{ {"1", "0"}, { RowBox[{"-", "2"}], RowBox[{"-", "1"}]} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}, "Items" -> {}, "ItemsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}, "Items" -> {}, "ItemsIndexed" -> {}}], "", ")"}], Function[BoxForm`e\$, MatrixForm[BoxForm`e\$]]]\), ({ {1}, {2} }), \!\(\* TagBox[ RowBox[{"(", "", GridBox[{ { RowBox[{"-", "1"}], "0"} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}, "Items" -> {}, "ItemsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}, "Items" -> {}, "ItemsIndexed" -> {}}], "", ")"}], Function[BoxForm`e\$, MatrixForm[BoxForm`e\$]]]\), \!\(\* TagBox[ RowBox[{"(", "", GridBox[{ {"0.5"} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}, "Items" -> {}, "ItemsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}, "Items" -> {}, "ItemsIndexed" -> {}}], "", ")"}], Function[BoxForm`e\$, MatrixForm[BoxForm`e\$]]]\), ({ {1, 0}, {0, 0} })}]
 Out[2]=

#### Получение дескрипторной модели в пространстве состояний из несобственной модели, заданной передаточной функцией.

 In[3]:= XStateSpaceModel[ TransferFunctionModel[Unevaluated[{{(s^2 + 4)/(s + 1)}}], s, SamplingPeriod ->None, SystemsModelLabels -> None]]
 Out[3]=

#### Построение дескрипторной системы с дискретным временем, указывая период дискретности.

 In[4]:= XStateSpaceModel[{\!\(\* TagBox[ RowBox[{"(", "", GridBox[{ {"a"} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}, "Items" -> {}, "ItemsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}, "Items" -> {}, "ItemsIndexed" -> {}}], "", ")"}], Function[BoxForm`e\$, MatrixForm[BoxForm`e\$]]]\), \!\(\* TagBox[ RowBox[{"(", "", GridBox[{ {"b"} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}, "Items" -> {}, "ItemsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}, "Items" -> {}, "ItemsIndexed" -> {}}], "", ")"}], Function[BoxForm`e\$, MatrixForm[BoxForm`e\$]]]\), \!\(\* TagBox[ RowBox[{"(", "", GridBox[{ {"c"} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}, "Items" -> {}, "ItemsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}, "Items" -> {}, "ItemsIndexed" -> {}}], "", ")"}], Function[BoxForm`e\$, MatrixForm[BoxForm`e\$]]]\), \!\(\* TagBox[ RowBox[{"(", "", GridBox[{ {"d"} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}, "Items" -> {}, "ItemsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}, "Items" -> {}, "ItemsIndexed" -> {}}], "", ")"}], Function[BoxForm`e\$, MatrixForm[BoxForm`e\$]]]\), \!\(\* TagBox[ RowBox[{"(", "", GridBox[{ {"e"} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}, "Items" -> {}, "ItemsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}, "Items" -> {}, "ItemsIndexed" -> {}}], "", ")"}], Function[BoxForm`e\$, MatrixForm[BoxForm`e\$]]]\)}, SamplingPeriod -> \[Tau]]
 Out[4]=

#### Тесная интеграция позволяет работать с дескрипторными системами, в равной степени со стандартными и собственными системами.

 In[5]:= XControllableModelQ[ StateSpaceModel[{{{-1, 0}, {0, -2}}, {{1}, {1}}, {{0, 1}}, {{0}}, {{1, 0}, {0, 0}}}, SamplingPeriod ->None, SystemsModelLabels -> None]]
 Out[5]=

#### Если дескрипторная матрица несингулярна, систему можно преобразовать в стандартное представление в пространстве состояний.

 In[6]:= XStateSpaceModel[ StateSpaceModel[{{{a}}, {{b}}, {{c}}, {{d}}, {{e}}}, SamplingPeriod ->None, SystemsModelLabels -> None], DescriptorStateSpace -> False]
 Out[6]=