ssdata
Access state-space model data
Syntax
[a,b,c,d] = ssdata(sys)
[a,b,c,d,Ts] = ssdata(sys)
Description
[a,b,c,d] = ssdata(sys)
extracts the matrix (or multidimensional array) data A
, B
, C
, D
from
the state-space model (LTI array) sys
. If sys
is
a transfer function or zero-pole-gain model (LTI array), it is first
converted to state space. See ss
(Control System Toolbox) for
more information on the format of state-space model data.
If sys
appears in descriptor form (nonempty E
matrix),
an equivalent explicit form is first derived.
If sys
has internal delays, A
, B
, C
, D
are
obtained by first setting all internal delays to zero (creating a
zero-order Padé approximation). For some systems, setting delays
to zero creates singular algebraic loops, which result in either improper
or ill-defined, zero-delay approximations. For these systems, ssdata
cannot
display the matrices and returns an error. This error does not imply
a problem with the model sys
itself.
For generalized state-space (genss
) models, ssdata
returns
the state-space models evaluated at the current, nominal value of
all control design blocks. To access the dependency of a genss
model
on its static control design blocks, use the A
, B
, C
,
and D
properties of the model.
[a,b,c,d,Ts] = ssdata(sys)
also returns the sample time Ts
.
You can access the remaining LTI properties of sys
with get
or
by direct referencing. For example:
sys.statename
For arrays of state-space models with variable numbers of states, use the syntax:
[a,b,c,d] = ssdata(sys,'cell')
to extract the state-space matrices of each model as separate
cells in the cell arrays a
, b
, c
,
and d
.
Version History
Introduced before R2006a