compute the controllability and observability grammians
Grammians( sys, opts )
System(ss); state-space System object
(optional) equation(s) of the form option = value; specify options for the Grammians command
checkstability = truefalse
True means check whether the system is stable; if it is not stable, an error occurs. False means skip the check. The default is true.
output = C or O or list of these names
Specifies the returned values. If equal to C, then the controllability grammian is returned. If equal to O, then the observability grammian is returned. If a list of these names, then the output is a list/sequence (see returnlist) with each C replaced with the controllability grammian and each O replaced with the observability grammian. The default is [C,O].
returnlist = truefalse
True means return a list; false means return an expression sequence. The default is false.
The Grammians command computes the grammians of sys, a state-space system.
Depending on the value of the output option, either the controllability grammian, the observability grammian, or both, is computed.
For a grammian to exist, the system must be stable. For a continuous-time system, all eigenvalues, λ, of A must lie in the open left-half plane: ℜ⁡λ<0. For a discrete-time system, all eigenvalues, λ, of A must lie in the open unit-circle: λ<1. If sys is not stable, an error occurs, unless the option checkstability is false.
A grammian is the positive-definite matrix X that solves the appropriate Lyapunov equation (see LyapunovSolve).
For a continuous system, the Lyapunov equation is A·X+X·AT=−B·BT.
For a discrete system, the Lyapunov equation is A·X·AT−X=−B·BT.
For a continuous system, the Lyapunov equation is AT·X+X·A=−CT·C.
For a discrete system, the Lyapunov equation is AT·X·A−X=−CT·C.
Assign a state-space system.
aSys ≔ StateSpace⁡−5,3|3,−4,2,3,1,0|0,1,0,0:
Compute its controllability grammian.
Cg ≔ Grammians⁡aSys,output=C
Verify that Cg meets the Lyapunov equation (b^+ is the transpose of b, see LinearAlgebra[Transpose]).
Download Help Document
What kind of issue would you like to report? (Optional)