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!

 채택된 답변

Fangjun Jiang
Fangjun Jiang 2011년 7월 26일

1 개 추천

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

Zach
Zach 2011년 7월 26일
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?
Fangjun Jiang
Fangjun Jiang 2011년 7월 26일
Sorry, I have no idea.
Meena Farag
Meena Farag 2016년 6월 1일
편집: Meena Farag 2016년 6월 1일
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);

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Matrix Computations에 대해 자세히 알아보기

태그

질문:

2011년 7월 26일

편집:

2016년 6월 1일

Community Treasure Hunt

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

Start Hunting!

Translated by