Main Content

gram

Controllability and observability Gramians

Description

Use gram to construct the controllability and observability Gramians. You can use Gramians to study the controllability and observability properties of state-space models and for model reduction [1]. They have better numerical properties than the controllability and observability matrices formed by ctrb and obsv.

Wc = gram(sys,'c') calculates the controllability Gramian of the state-space model sys.

Wo = gram(sys,'o') calculates the observability Gramian of the state-space model sys.

Rc = gram(sys,'cf') returns the Cholesky factor of the controllability Gramian.

Ro = gram(sys,'of') returns the Cholesky factor of the observability Gramian.

W = gram(___,opt) calculates time-limited or frequency-limited Gramians. opt is an option set that specifies time or frequency intervals for the computation. Create opt using the gramOptions command.

example

Examples

collapse all

Compute the controllability Gramian of the following state-space model. Focus the computation on the frequency interval with the most energy.

sys = ss([-.1 -1;1 0],[1;0],[0 1],0);

The model contains a peak at 1 rad/s. Use gramOptions to specify an interval around that frequency.

opt = gramOptions('FreqIntervals',[0.8 1.2]);
gc = gram(sys,'c',opt)
gc = 2×2

    4.2132   -0.0000
   -0.0000    4.2433

Input Arguments

collapse all

Input model, specified as a state-space model or an array of state-space models.

The input model must be stable and without any internal delays. For descriptor state-space models, the matrix E must be nonsingular.

Option set for computing time-limited or frequency-limited Gramians, specified as a gramOptions object.

Output Arguments

collapse all

Controllability or observability Gramian, returned as a matrix.

Cholesky factor of controllability or observability Gramian, returned as a matrix.

The Cholesky factors of Gramians are defined as follows:

  • Controllability Gramian — Wc=RcTRc

  • Observability Gramian — Wo=RoTRo

Limitations

The A matrix must be stable (all eigenvalues have negative real part in continuous time, and magnitude strictly less than one in discrete time).

More About

collapse all

Controllability and Observability Gramians

Given the continuous-time state-space model

x˙=Ax+Buy=Cx+Du

the controllability Gramian is defined by

Wc=0eAτBBTeATτdτ

The controllability Gramian is positive definite if and only if (A, B) is controllable.

The observability Gramian is defined by

Wo=0eATτCTCeAτdτ

The observability Gramian is positive definite if and only if (A, C) is observable.

The discrete-time counterparts of the controllability and observability Gramians are:

Wc=k=0AkBBT(AT)k,Wo=k=0(AT)kCTCAk

Use time-limited or frequency-limited Gramians to examine the controllability or observability of states within particular time or frequency intervals. The definition of these Gramians is as described in [2].

Algorithms

The controllability Gramian Wc is obtained by solving the continuous-time Lyapunov equation

AWc+WcAT+BBT=0

or its discrete-time counterpart

AWcATWc+BBT=0

Similarly, the observability Gramian Wo solves the Lyapunov equation

ATWo+WoA+CTC=0

in continuous time, and the Lyapunov equation

ATWoAWo+CTC=0

in discrete time.

The computation of time-limited and frequency-limited Gramians is as described in [2].

References

[1] Kailath, Thomas. Linear Systems. Prentice-Hall Information and System Science Series. Englewood Cliffs, N.J: Prentice-Hall, 1980.

[2] Gawronski, Wodek, and Jer-Nan Juang. “Model Reduction in Limited Time and Frequency Intervals.” International Journal of Systems Science 21, no. 2 (February 1990): 349–76. https://doi.org/10.1080/00207729008910366.

Version History

Introduced before R2006a