is an option to StateSpaceModel that specifies its canonical representation.
StateSpaceRealization
is an option to StateSpaceModel that specifies its canonical representation.
Details
- The following settings can be used:
-
Automatic automatically determine realization "Controllable" the controllable realization "ControllableCompanion" the controllable companion realization "Observable" the observable realization "ObservableCompanion" the observable companion realization - The controllable form is obtained by computing the controllable companion form of the subsystems corresponding to each input and combining the results.
- For the proper transfer-function matrix
, the controllable companion form is -
-
- The identity matrix
has dimension
. - The observable form is obtained by computing the observable companion form of the subsystems corresponding to each output and combining the results.
- For the proper transfer-function matrix
, the observable companion form is -

-

- The realizations are similar for discrete-time systems.
- For the improper transfer-function
, the polynomial part is realized using descriptor variables, and the proper rational part is realized using the specified form. » - StateSpaceModel[tfm,StateSpaceRealization->Automatic] gives the controllable realization of the transfer-function model tfm.
Examples
open all close allBasic Examples (1)
Controllable and observable realizations of a SISO system:
sys = TransferFunctionModel[
{{{s^2*Subscript[b, 1] + s*Subscript[b, 2] +
Subscript[b, 3]}}, s^3 +
s^2*Subscript[a, 1] + s*Subscript[a, 2] +
Subscript[a, 3]}, s];StateSpaceModel[sys, StateSpaceRealization -> "Controllable"]StateSpaceModel[sys, StateSpaceRealization -> "Observable"]Scope (2)
A multi-input, multi-output transfer-function model:
tfm = TransferFunctionModel[{{{3 + s, 3}, {1, 1 + s}},
{{6 + s, 6 + s}, {4 + s, 4 + s}}},
s];StateSpaceModel[tfm, StateSpaceRealization -> "Controllable"]The controllable companion realization:
StateSpaceModel[tfm, StateSpaceRealization -> "ControllableCompanion"]StateSpaceModel[tfm, StateSpaceRealization -> "Observable"]The observable companion realization:
StateSpaceModel[tfm, StateSpaceRealization -> "ObservableCompanion"]Controllable and controllable companion realizations are controllable:
tfm = TransferFunctionModel[{{{1, 1}, {1, 1}}, {{2 + s, 1 + s},
{2 + s, 3 + s}}}, s];StateSpaceModel[tfm, StateSpaceRealization -> "Controllable"]ControllableModelQ[%]StateSpaceModel[tfm, StateSpaceRealization -> "ControllableCompanion"]ControllableModelQ[%]Observable and observable companion realizations are observable:
StateSpaceModel[tfm, StateSpaceRealization -> "Observable"]ObservableModelQ[%]StateSpaceModel[tfm, StateSpaceRealization -> "ObservableCompanion"]ObservableModelQ[%]Properties & Relations (4)
A two-output transfer-function model:
tfm = TransferFunctionModel[{{{(1 + s)*(2 + s), 1}},
{{-1 + s^2, -1 + s}}}, s];The controllable and controllable companion realizations are controllable:
{Subscript[ssm, c], Subscript[ssm, cc]} = {StateSpaceModel[tfm, StateSpaceRealization -> "Controllable"], StateSpaceModel[tfm, StateSpaceRealization -> "ControllableCompanion"]}{ControllableModelQ[Subscript[ssm, c]], ControllableModelQ[Subscript[ssm, cc]]}They are not necessarily observable:
{ObservableModelQ[Subscript[ssm, c]], ObservableModelQ[Subscript[ssm, cc]]}The observable and observable companion realizations are observable:
{Subscript[ssm, o], Subscript[ssm, oc]} = {StateSpaceModel[tfm, StateSpaceRealization -> "Observable"], StateSpaceModel[tfm, StateSpaceRealization -> "ObservableCompanion"]}{ObservableModelQ[Subscript[ssm, o]], ObservableModelQ[Subscript[ssm, oc]]}They are not necessarily controllable:
{ControllableModelQ[Subscript[ssm, o]], ControllableModelQ[Subscript[ssm, oc]]}The controllable and controllable companion realizations are identical for single-input systems:
tfm = TransferFunctionModel[{{{1}, {2}, {1 + s}},
{{3 + s}, {1 + s}, {4 + s}}}, s];StateSpaceModel[tfm, StateSpaceRealization -> "Controllable"] == StateSpaceModel[tfm, StateSpaceRealization -> "ControllableCompanion"]The observable and observable companion forms are identical for single-output systems:
tfm = TransferFunctionModel[{{{1 + s, 1, 3}},
{{6 + s, 2 + s, 3 + s}}}, s];StateSpaceModel[tfm, StateSpaceRealization -> "Observable"] == StateSpaceModel[tfm, StateSpaceRealization -> "ObservableCompanion"]StateSpaceRealization affects the proper part of an improper transfer function:
{poly, proper} = {Subscript[γ, 2]s^2 + Subscript[γ, 1]s + Subscript[γ, 0], (Subscript[β, 1]s + Subscript[β, 0]/s^2 + Subscript[α, 1]s + Subscript[α, 0])};tfm = TransferFunctionModel[poly + proper, s];The first two states use the specified realization:
ssm1 = StateSpaceModel[tfm, StateSpaceRealization -> "Controllable"]ssm2 = StateSpaceModel[tfm, StateSpaceRealization -> "Observable"]Divide the state-space model into the slow and fast subsystems:
{Subscript[ssm1, s], Subscript[ssm1, f]} = {SystemsModelExtract[ssm1, All, All, {1, 2}],
SystemsModelExtract[ssm1, All, All, {3, 4, 5}]}The slow subsystem models the strictly proper part of the transfer function:
TransferFunctionModel[Subscript[ssm1, s], s]The fast subsystem models the polynomial part:
TransferFunctionModel[Subscript[ssm1, f], s]Related Guides
Text
Wolfram Research (2010), StateSpaceRealization, Wolfram Language function, https://reference.wolfram.com/language/ref/StateSpaceRealization.html (updated 2012).
CMS
Wolfram Language. 2010. "StateSpaceRealization." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2012. https://reference.wolfram.com/language/ref/StateSpaceRealization.html.
APA
Wolfram Language. (2010). StateSpaceRealization. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/StateSpaceRealization.html
BibTeX
@misc{reference.wolfram_2026_statespacerealization, author="Wolfram Research", title="{StateSpaceRealization}", year="2012", howpublished="\url{https://reference.wolfram.com/language/ref/StateSpaceRealization.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_statespacerealization, organization={Wolfram Research}, title={StateSpaceRealization}, year={2012}, url={https://reference.wolfram.com/language/ref/StateSpaceRealization.html}, note=[Accessed: 13-June-2026]}