Access state-space model data
[a,b,c,d] = ssdata(sys)
[a,b,c,d,Ts] = ssdata(sys)
[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 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.
You can access the remaining LTI properties of sys with get or by direct referencing. For example:
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.