| 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 | ![]() |