Main Content

ctrbf

可制御性階段型を計算

構文

[Abar,Bbar,Cbar,T,k] = ctrbf(A,B,C)
ctrbf(A,B,C,tol)

説明

(A, B) の可制御性行列がランク r ≤ n をもつ場合 (ここで、n は A のサイズ)、

A¯=TATT,B¯=TB,C¯=CTT

のような相似変換が存在します。ここで、T はユニタリであり、変換されたシステムは階段型をもちます。その際、非可制御モードが存在すれば、左上にあります。

A¯=[Auc0A21Ac],B¯=[0Bc],C¯=[CncCc]

ここで、(Ac, Bc) は可制御であり、Auc の固有値はすべて非可制御であり、かつ Cc(sIAc)1Bc=C(sIA)1B です。

上で説明したとおり、[Abar,Bbar,Cbar,T,k] = ctrbf(A,B,C) は、 AB、および C によって表現される状態空間を可制御階段型 AbarBbar、およびCbar に分解します。T は相似変換行列、k は長さがn のベクトルです。ここで n は、A で表わされるシステムの次数です。k の各エントリは、変換行列計算の各段階で因数分解された可制御状態の数を表します。k の中の非ゼロ要素の数は、T の計算に必要とされた反復回数を示しています。sum(k) は、Abar の可制御部分である Ac 中の状態数です。

ctrbf(A,B,C,tol) は、可制御/非可制御の部分空間を計算するとき、許容誤差 tol を使用します。許容誤差を指定しないと、既定で 10*n*norm(A,1)*eps に設定されます。

次の行列に対する可制御階段型を計算します。

A =
     1     1
     4    -2

B =
     1    -1
     1    -1

C =
     1     0
     0     1

そして、非可制御モードの位置を特定します。

[Abar,Bbar,Cbar,T,k]=ctrbf(A,B,C)

Abar =
   -3.0000         0
   -3.0000    2.0000

Bbar =
    0.0000    0.0000
    1.4142   -1.4142

Cbar =
   -0.7071    0.7071
    0.7071    0.7071

T =
   -0.7071    0.7071
    0.7071    0.7071
k =
     1     0

分解されたシステム Abar は、-3 の位置にある非可制御モード、および 2の位置にある可制御モードを示します。

アルゴリズム

関数 ctrbf は、[1] に記述されている階段型アルゴリズムを実装します。

参考文献

[1] Rosenbrock, M.M., State-Space and Multivariable Theory, John Wiley, 1970.

バージョン履歴

R2006a より前に導入

参考

|