DynamicSystems - Maple Programming Help

Home : Support : Online Help : Science and Engineering : Dynamic Systems : System Manipulation Tools : DynamicSystems/SSModelReduction

DynamicSystems

 SSModelReduction
 reduce a state-space system

 Calling Sequence SSModelReduction( Amat, Bmat, Cmat, Dmat, opts )

Parameters

 Amat - Matrix; system matrix of a state-space system Bmat - Matrix; input matrix of a state-space system Cmat - Matrix; output matrix of a state-space system Dmat - (optional) Matrix; direct-through matrix of a state-space system. If not specified, a zero-matrix of appropriate dimension is used. opts - (optional) equation(s) of the form option = value; specify options for the SSModelReduction command

Options

 • balance = truefalse

Specifies whether to perform the balanced grammian transformation on the input matrices before reduction. If true and the cutoff option is assigned, then the transformation is performed, otherwise it is not.  The default is false. The balanced grammian transformation is a similarity transformation on the A, B, and C matrices that equates their controllability and observability grammians; see DynamicSystems[Grammians] for details.

 • cutoff = positive

Specifies the cutoff value for the Hankel singular values in the balanced grammian of the system.  States with associated Hankel singular value smaller than or equal to the cutoff value are eliminated.

 • discrete = truefalse

Specifies whether the system is discrete or continuous. If true, the system is discrete, otherwise continuous. The default value is false.

 • method = truncate or matchDC

Specifies the reduction method. The default is matchDC.

 • removestate = posint, list(posint), or list(truefalse)

Specifies the states to remove. The default is NULL, which removes no states.

If removestate = $m$, with $m$ a positive integer, then the model states from $m$ to $n$ are removed. The order of the reduced system is $r=m-1$.

If removestate is a list of positive integers, then it represents the list of indexes corresponding to the states to be eliminated.

If removestate is a list of truefalse values and its length is the same as the length ($n$) of the state vector $X\left(t\right)$, then each true in the list removes the corresponding state in $X\left(t\right)$.

The removestate option is ignored if both the removestate and the cutoff options are specified. If both the removestate and the cutoff options are omitted, no reduction is performed and the input matrices are returned without modification.

Description

 • The SSModelReduction command returns reduced-order state-space system matrices from a given set of state-space system matrices, Amat, Bmat, Cmat, and Dmat.
 • For a state-space system defined by the state and output equations $\frac{ⅆ}{ⅆt}X\left(t\right)=AX\left(t\right)+BU\left(t\right)$ and $Y\left(t\right)=CX\left(t\right)+\mathrm{D}U\left(t\right)$, respectively, the state vector X(t) with dimension n can be partitioned into $X\left(t\right)=\mathrm{Vector}\left(\left[\mathrm{X1},\mathrm{X2}\right]\right)$, where $\mathrm{X1}$ contains the states to be retained and   $\mathrm{X2}$ contains the states to be removed. The dimension of $\mathrm{X1}$, referred to here as $r$, is the reduced state order. The number of input of the system is denoted as $i$, while the number of output is denoted as $o$.
 • Two options, cutoff and removestate determine the number of states to be removed. Only one is used; if both are specified, cutoff is used. See the Options section for a description of their operation.
 • Two reduction methods are supported:  truncate and matchDC.
 • The truncate method returns the reduced state-space matrices by simply removing the selected states. The reduced state-space matrices are given by:

$\mathrm{Ar}=\mathrm{A11}$

$\mathrm{Br}=\mathrm{B1}$

$\mathrm{Cr}=\mathrm{C1}$

$\mathrm{Dr}=\mathrm{D}$

where the submatrices $\mathrm{A11}$, $\mathrm{B1}$, and $\mathrm{C1}$ are defined by the following partitioning of the original state-space matrices:

$A=\mathrm{Matrix}\left(\left[\left[\mathrm{A11},\mathrm{A12}\right],\left[\mathrm{A21},\mathrm{A22}\right]\right]\right)$

$B=\mathrm{Matrix}\left(\left[\left[\mathrm{B1}\right],\left[\mathrm{B2}\right]\right]\right)$

$C=\mathrm{Matrix}\left(\left[\left[\mathrm{C1},\mathrm{C2}\right]\right]\right)$

where $\mathrm{A11}$ has dimension $r$ x $r$, $\mathrm{B1}$ has dimension $r$ x $i$, and $\mathrm{C1}$ has dimension $o$ x $r$.

 • The matchDC method computes the reduced state-space matrices such that the DC gain (steady-state response) of the reduced-order system matches that of the original system. With the same partition as described for the truncate option, the matchDC reduced state-space matrices are

Ar = ( A11 + signK * A12 . A22inv . A21 )

Br = ( B1 + signK * A12 . A22inv . B2 )

Cr = ( C1 + signK * C2 . A22inv . A21 )

Dr = ( D + signK * C2 . A22inv . B2 )

where for continuous systems signK = -1 and A22inv = A22^(-1) while for discrete systems signK = +1 and A22inv = (I - A22)^(-1), with $I$ the identity matrix of appropriate dimension. The matchDC method fails if $\mathrm{A22}$ (for continuous systems) or $I-\mathrm{A22}$ (for discrete systems) is singular.

Examples

 > $\mathrm{with}\left(\mathrm{DynamicSystems}\right):$
 > $\mathrm{Amat}≔⟨⟨-5|1|0⟩,⟨0|-2|1⟩,⟨0|0|-1⟩⟩:$
 > $\mathrm{Bmat}≔⟨⟨0,0,1⟩⟩:$
 > $\mathrm{Cmat}≔⟨⟨1|0|0⟩⟩:$
 > $\mathrm{Dmat}≔⟨⟨0⟩⟩:$
 > $\mathrm{SSModelReduction}\left(\mathrm{Amat},\mathrm{Bmat},\mathrm{Cmat},\mathrm{Dmat},'\mathrm{removestate}'=2,\mathrm{method}=\mathrm{matchDC}\right)$
 $\left[\begin{array}{r}{-}{5}\end{array}\right]{,}\left[\begin{array}{c}\frac{{1}}{{2}}\end{array}\right]{,}\left[\begin{array}{r}{1}\end{array}\right]{,}\left[\begin{array}{r}{0}\end{array}\right]$ (1)
 > $\mathrm{SSModelReduction}\left(\mathrm{Amat},\mathrm{Bmat},\mathrm{Cmat},\mathrm{Dmat},'\mathrm{removestate}'=2,\mathrm{method}=\mathrm{truncate}\right)$
 $\left[\begin{array}{r}{-}{5}\end{array}\right]{,}\left[\begin{array}{r}{0}\end{array}\right]{,}\left[\begin{array}{r}{1}\end{array}\right]{,}\left[\begin{array}{r}{0}\end{array}\right]$ (2)