伴隨形式包含對應特徵多項式的係數,沿著其最遠行或列之一。例如,一個伴隨形式矩陣是

另一個是

兩種伴隨形式在控制理論中方便使用,即可觀測典範形式和可控典範形式。這兩種形式大致互為轉置(就像可觀測性和可控性是對偶的概念一樣)。當置於其中一種形式時,控制器或觀測器的設計將簡化,因為系統的結構變得清晰(並且可以輕鬆地根據所需的控制進行修改)。
可觀測典範形式在幾種情況下非常有用,特別是在設計觀測器時。
可觀測典範形式如下



可控典範形式在許多情況下非常有用,尤其是在系統狀態完全已知的情況下設計控制器時。
可控典範形式如下




如果我們有兩個空間,空間 *v* 是系統的原始空間(*A*、*B*、*C* 和 *D*),那麼我們可以使用變換矩陣 *Tw* 將系統變換為 *w* 空間,該空間處於可控規範形式(*Aw*、*Bw*、*Cw* 和 *Dw*)。我們將此變換矩陣定義為

其中 ζ 是可控性矩陣。
注意,我們事先知道 *Aw* 和 *Bw*,因為我們知道矩陣的形式和方程的係數(例如,具有常數係數的線性 ODE 或傳遞函式)。
如果我們知道這兩個矩陣,我們就可以形成 ζw。然後我們可以使用此矩陣來建立我們的變換矩陣。
我們將在討論狀態反饋和閉環系統時討論可控規範形式。
**相位變數形式**是透過簡單地將相位變數重新編號,使其與可控規範形式相反的順序而獲得的。因此




在此形式中,狀態矩陣是對角矩陣,其對角線元素為系統的(非重複)特徵值。控制對每個特徵空間具有單位影響,輸出是特徵空間貢獻的線性組合(權重為每個極點的複數殘差)。




這種“近似對角”形式處理特徵值重複的情況。重複的特徵值代表一個多維特徵空間,因此控制只進入特徵空間一次,並透過該小子系統的其他狀態進行積分。



此操作可以使用以下
MATLAB 命令執行
tf2ss
MATLAB 可以使用 tf2ss 命令將傳遞函式轉換為控制規範形式。
tf2ss(num, den);
% num and den on the form: [x_0*s^n, x_1*s^n-1,..., x_n*s^n-n].
此操作可以使用以下
MATLAB 命令執行
canon
MATLAB 包含一個函式,用於自動將狀態空間方程轉換為伴隨
(例如,可控或可觀測規範形式)形式。
[Ap, Bp, Cp, Dp, P] = canon(A, B, C, D, 'companion');
此操作可以使用以下
MATLAB 命令執行
compan
從一種伴隨形式轉換到另一種伴隨形式通常涉及矩陣和向量上的基本運算(例如,轉置或互換行)。給定一個包含特徵多項式係數的向量,MATLAB 可以計算一個伴隨形式,其係數位於頂行(還有其他 3 種可能的伴隨形式不是由該函式生成的)。
compan(P)
給定另一個包含傳遞函式的分子多項式係數的向量,canon命令可以執行相同操作。
[Ap, Bp, Cp, Dp, P] = canon(tf(Pnum,Pden), 'companion');
同一個命令可以用於將狀態空間方程轉換為模態(例如,對角線)形式。
[Ap, Bp, Cp, Dp, P] = canon(A, B, C, D, 'modal');
此操作可以使用以下
MATLAB 命令執行
jordan
但是,MATLAB 還包含一個命令來計算矩陣的 Jordan 形式,這是一種適用於具有重複特徵值的矩陣的修改後的模態形式。
jordan(A);
我們給出一個由傳遞函式描述的系統

現在我們的任務是在控制規範形式中獲得狀態空間矩陣。我們首先注意到,分子的階數為 2,而分母的對應階數為 3。這意味著我們將不會有任何前饋,因此,標量 D 為 0。
我們現在將傳遞函式拆分為兩個因子

然後我們檢索時域描述,



我們現在建立兩個新的狀態來描述所有這些導數。由於系統的最高階為 3(在 TF 的分母中),我們必須建立 2 個新狀態,以便總共有 3 個狀態。

我們將新狀態代入上面的等式

現在我們以類似的方式評估系統的輸入



注意第一個項是三階導數。現在我們可以將新的狀態代入上面的方程

我們將第三個狀態的導數移到等式左側,得到

現在我們準備將這些方程改寫成狀態空間形式。我們首先將輸入移到等式右側,以便對每個狀態都有一個表示式。