DynamicSystems
SSModelReduction
reduce a state-space system
Calling Sequence
Parameters
Options
Description
Examples
SSModelReduction( Amat, Bmat, Cmat, Dmat, opts )
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
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⁡t, then each true in the list removes the corresponding state in X⁡t.
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.
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 ⅆⅆtX⁡t=A⁢X⁡t+B⁢U⁡t and Y⁡t=C⁢X⁡t+D⁢U⁡t, respectively, the state vector X(t) with dimension n can be partitioned into X⁡t=Vector⁡X1,X2, where X1 contains the states to be retained and X2 contains the states to be removed. The dimension of 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:
Ar=A11
Br=B1
Cr=C1
Dr=D
where the submatrices A11, B1, and C1 are defined by the following partitioning of the original state-space matrices:
A=Matrix⁡A11,A12,A21,A22
B=Matrix⁡B1,B2
C=Matrix⁡C1,C2
where A11 has dimension r x r, B1 has dimension r x i, and 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 A22 (for continuous systems) or I−A22 (for discrete systems) is singular.
with⁡DynamicSystems:
Amat≔−5|1|0,0|−2|1,0|0|−1:
Bmat≔0,0,1:
Cmat≔1|0|0:
Dmat≔0:
SSModelReduction⁡Amat,Bmat,Cmat,Dmat,removestate=2,method=matchDC
−5,12,1,0
SSModelReduction⁡Amat,Bmat,Cmat,Dmat,removestate=2,method=truncate
−5,0,1,0
See Also
DynamicSystems[Controllable]
DynamicSystems[Grammians]
DynamicSystems[Observable]
DynamicSystems[SSTransformation]
LinearAlgebra
Download Help Document