Control System Toolbox関数リファレンス | ![]() ![]() |
表示
Co = ctrb(A,B) Co = ctrb(sys)
詳細
ctrb
は、状態空間システムに対する可制御性行列を計算します。n行n列の行列A
およびn行m列の行列B
の場合、ctrb(A,B)
は、つぎの可制御性行列を出力します。
Co = ctrb(sys)
は、状態空間LTIオブジェクトsys
の可制御性行列を計算します。この構文は、つぎのステートメントを実行するのと等価です。
Co = ctrb(sys.A,sys.B)
例題
A = 1 1 4 -2 B = 1 -1 1 -1
Co=ctrb(A,B); % 非可制御状態の数 unco=length(A)-rank(Co)
unco = 1
制限
Co
の計算は、逆行列に関して、条件数が悪い場合があります。このことは、つぎの単純な例から見ることができます。
この組み合わせは、の場合に可制御です。しかし、
の場合を考えます。ここで、epsは浮動小数点相対精度です。
ctrb(A,B)
は、つぎの値を出力することが容易にわかります。
これから誤った結論が導かれる場合があります。このような場合、ctrbf
を使ってシステムの可制御性を決定するほうが得策です。
参考
ctrbf
可制御性ステアケース型の計算
obsv
可観測性行列の計算
![]() | covar | ctrbf | ![]() |