Controllability Gramian

I have a system of the form xdot= Ax + Bu. I have my A and B matrix defined. But I'm having a bit of trouble using the controllability gramian. The syntax just says
Wc = gram(sys,'c') % controllability gramian
But I don't know how to define 'sys'. Any help? Thanks!

 Accepted Answer

use the state space ss() function.
help ss
SS Constructs state-space model or converts model to state space.
Construction:
SYS = SS(A,B,C,D) creates an object SYS of class @ss representing
the continuous-time state-space model
dx/dt = Ax(t) + Bu(t)
y(t) = Cx(t) + Du(t)

3 Comments

Zach
Zach on 26 Jul 2011
Thanks! Do you know by any chance if there's a way to do the gramian from some initial time t0 to some final time tf instead of doing it from 0 to infinity?
Sorry, I have no idea.
I know this is several years late, but for anyone else reading this wondering the same thing, MATLAB 2016a has the option of computing the controllability gramian over some finite time. If your system is stable you can use the following:
opt = gramOptions('TimeInterval', [t0 tf]);
Wc = gram(sys,'c',opt);

Sign in to comment.

More Answers (0)

Categories

Tags

Asked:

on 26 Jul 2011

Edited:

on 1 Jun 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!