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 ExchangeMatrix 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