可控制性（Controllability）是控制系統中的重要特性，在許多控制問題中都很重要，例如是否可以透過回授穩定一個本身不穩定的系統，或是最佳控制的相關問題。 可控制性及可觀測性是同一個問題上的對偶概念。 簡單來說，可控制性是指是否可以透過一些允許的程式讓系統調整到其組態空間內的任何一個組態。隨著其系統模型或是框架的不同，定義也會略有改變。 以下是一些在系統或是控制文獻中出現過的可控制性定義： 狀態可控制性（State controllability） 輸出可控制性（Output controllability） 行為框架中的可控制性（Controllability in the behavioural framework） 狀態可控制性 狀態可控制性是指在確定性系統的狀態空間內，也就是系統所有狀態變數數值組成的集合，可以完全描述系統在任一時間以下的狀態。特別是不需要有關系統以往的資訊，只要知道目前的狀態，以後所有的狀態都是已知的。 完全狀態可控制性（有時也稱為狀態可控制性）是指外在輸入（由控制變陣列成的向量）可以在有限時間內將系統由任意狀態改變為另一個狀態。 可控制性表示可以使系統到達任意狀態，但不表示系統可以維持在該狀態，有可能系統只是在該狀態停留短暫間而已。 連續時間線性系統 考慮連續時間下的線性系統線性時不變系統其行為也相同，不過係數不會隨時間而變化。 dot mathbf xt A t mathbf xt B t mathbf ut mathbf yt C t mathbf xt D t mathbf ut 存在一個控制 u 使系統在時間 t_0 至時間 t_1，由狀態 x_0 改變為狀態 x_1，若且唯若 x_1 phi t_0t_1 x_0 是以下的列空間中 W t_0t_1 int_t_0t_1 phi t_0t B t B tTphi t_0tT dt 其中 phi 是狀態轉移矩陣，而 W t_0t_1 是可控制性格拉姆矩陣。 其實上，若 eta_0 是 W t_0t_1eta x_1 phi t_0t_1 x_0 的解，則控制 u t B tTphi t_0tTeta_0 即為所需的控制輸入。 注意上述定義的 W 有以下的特質： W t_0t_1 是對稱矩陣 W t_0t_1 是正定矩陣，t_1 geq t_0 W t_0t_1 滿足以下的線性 frac ddt W tt_1 A t W tt_1W tt_1 A tTB t B tT W t_1t_1 0 W t_0t_1 滿足以下方程 W t_0t_1 W t_0t phi t_0t W tt_1phi t_0tT 可控制性的秩條件 可控制性格拉姆矩陣和狀態轉移矩陣的積分有關。另外有一個較簡單，類似在非時變系統下的可控制性判斷方式。 考慮連續時間的線性系統 Sigma，在時間區間 t_0t 內光滑變化： dot mathbf xt A t mathbf xt B t mathbf ut mathbf yt C t mathbf xt D t mathbf ut 其狀態轉移矩陣也是光滑的，引入 n x m 的矩陣函式 M_0 t phi t_0t B t，並且定義 M_k t frac mathrm dk M_0mathrm d tkt kgeqslant 1 考慮一個由 M_i i 01 ldots k 組成的矩陣： Mkt left M_0 t ldots M_k tright 若存在 bar t in t_0t 以及非負整數 k 使得 operatorname rank Mkbar tn，則 Sigma 為可控制系統 Eduardo D Sontag Mathematical Control Theory Deterministic Finite Dimensional Systems。 若 Sigma 在區間 t_0t 內也是解析變化，則 Sigma 在 t_0t 中的每個非平凡子區間內可控制，若且唯若存在 bar t in t_0t 及非負變數使得 rankMkt_in。 上述方式仍然很不容易確認，因為包括了狀態轉移矩陣 phi 的計算。另一個等效的條件如下：令 B_0 t B t，對於每一個 i geq 0，定義 B_i1t A t B t frac mathrm dmathrm d t B_i t 此例中，每一個 B_i 是直接由 A tB t 求得。此係統有穩定性的充份必要條件是存在 bar t in t_0t 及非負整數 k 使得下式成立： textrm rankleft B_0 bar t B_1 bar t ldots B_k bar t right n 例子 考慮一個在 inftyinfty 內解析變化的系統及矩陣 A t begin bmatrix t 1 0 0 t3 0 0 0 t2 end bmatrix B t begin bmatrix 0 1 1 end bmatrix 則 B_0 0B_1 0B_2 0B_3 0 begin bmatrix 0 1 0 1 1 0 00 1 0 02 end bmatrix，其矩陣秩為 3，因此在 mathbb R 之內的每一個非平凡區間都是可控制的。 連續線性時不變（LTI）系統 考慮以下的連續線性時不變系統 dot mathbf xt A mathbf xt B mathbf ut mathbf yt C mathbf xt D mathbf ut 其中 mathbf x 為 n times 1 狀態向量 mathbf y 為 m times 1 輸出向量 mathbf u 為 r times 1 輸入（或控制）向量 A 為 n times n 狀態矩陣 B 為 n times r 輸入矩陣 C 為 m times n 輸出矩陣 D 為 m times r 前饋矩陣 n times nr 可控制矩陣為 R begin bmatrix B AB A2 B An1 Bend bmatrix 系統可控制的充份必要條件是其可控制矩陣為滿秩（也就是 operatorname rankRn）。 離散線性時不變（LTI）系統 針對離散時間，狀態方程如下的線性狀態空間系統（也就是時間變數 kinmathbb Z）： textbf xk1 Atextbf xk Btextbf uk 其中 A 是 n times n 的矩陣，B 是 n times r 的矩陣，（也就是 mathbf u 是 r 個輸入，整理成 r times 1 的向量）。測試其可控制性的方式為以下 n times nr 矩陣 mathcal C begin bmatrix B AB A2 B cdots An1 Bend bmatrix 有全秩（也就是 operatorname rankmathcal C n）。因此，若此係統可控制，mathcal C 會有 n 個線性獨立的 zhhans 列；zhhant 行；；若 mathcal C 中有 n 個 zhhans 列；zhhant 行； 是線性獨立的，n 個狀態中的每一個都可以用適當的輸入變數 u k 來達到。 推導 假設在初始時間（表示為 k0）狀態 textbf x0，狀態方程可以得到 textbf x1 Atextbf x0 Btextbf u0，則 textbf x2 Atextbf x1 Btextbf u1 A2textbf x0ABtextbf u0Btextbf u1，以此類推，利用反覆將狀態變數反向代回，可以得到 textbf xnBtextbf un1 ABtextbf un2 cdots An1 Btextbf u0 Antextbf x0 或者等效的 textbf xnAntextbf x0 B AB cdots An1 B textbf uT n1 textbf uT n2 cdots textbf uT 0T 將狀態向量 textbf xn 想要的值放在左側時，可解出一連串控制向量的條件是若且唯若等號右側的第一個矩陣有全秩。 範例 例如，考慮 n2 和 r1 的例子（只有一個控制輸入）。因此，B 和 A B 是 2 times 1 的向量。若 begin bmatrix B ABend bmatrix 為秩 2（滿秩），因此 B 和 AB 為線性獨立，可以生成整個平面。若秩為 1，則 B 和 AB 平行，無法生成整個平面。 假設初始狀態為 0。 在時間 k0 時：x 1 Atextbf x0 Btextbf u0 Btextbf u0 在時間 k1 時：x 2 Atextbf x1 Btextbf u1 ABtextbf u0 Btextbf u1 在時間 k0 時，所有可到達的狀態是在由向量 B 組成的直線上。 在時間 k1 時，所有可到達的狀態是在由向量 AB 和 B 組成的線性組合上。 若系統可控制，這二個向量可以生成整個平面，在時間 k2 時即可完成。 前面有假設初始狀態為 0，此一假設只是為了推導方便，若可以從原點到達所有的狀態，就可以由任意的初始狀態到所有的狀態（只要進行坐標平移） 上述例子對於所有正整數的 n 都成立，不過 n2 的例子比較容易視覺化。 類似 n 2 的範例 以下是一個用上述範例的例子。 一個人坐在車上，車在一個無窮大的平面上，車頭朝向北方。 目的是透過駕駛（直線前進或是直線倒車）一段距離、停車、轉彎、再駕駛（直線前進或是直線倒車）一段距離的方式到平面上的任何一點。 假如車上沒有方向盤，因此車只能直線前進或後退，車所能到的方向只有車的正南方或正北方的位置上。 沒有方向盤類似 C 的秩為 1（二次所走的位移均平行）的情形。 假如車有方向盤，可以任意的旋轉，自然可以到平面上的任何一點，這類似 C 的秩為 2 的例子。 若將此範圍延伸到 n3，則例子會變成讓飛機到三維空間中的任何一點（不考慮飛機本身的機頭面對方向。 可做的事為： 以直線航行 左轉或是右轉任意角度（偏擺，yaw） 飛機朝上或是朝下任意角度（俯仰，pitch） 雖然三維的例子比較不容易視覺化，不過原理類似。 非線性系統 以下控制仿射形式的非線性系統 dot mathbf x mathbf f x sum_i1m mathbf g_i mathbf x u_i 其在 x_0 附近區域性可到達（accessible）的條件是可到達分佈 R 可以生成 n 個空間，其中 n 等於 x 的秩，而且 R 可以由下式表示 Isidori Alberto 1989 Nonlinear Control Systems p 923 SpringerVerlag London ： R begin bmatrix mathbf g_1 cdots mathbf g_m mathrm adk_mathbf g_imathbf mathbf g_j cdots mathrm adk_mathbf fmathbf mathbf g_i end bmatrix 此處 mathrm adk_mathbf fmathbf mathbf g 是重複的運算，定義如下 mathrm adk_mathbf fmathbf mathbf g begin bmatrix mathbf f cdots j cdots mathbf mathbf f mathbf g end bmatrix 線性系統的可控制性矩陣可以由此式推導而得。 零可控制性 若離散控制系統具有零可控制性（nullcontrollable），表示針對某一初始狀態 x 0 x_0，存在可控制的 u k 使得 x k_0 0。此條件和存在矩陣 F 使得 ABF 為冪零矩陣的條件等價。 此條件可以由可控制 不可控制分離推導而得。 輸出可控制性 輸出可控制性（Output controllability）是有關系統輸出（以上表示為 y）的特性，輸出可控制性描述外在輸入是否可以在有限時間內，將輸出從任意初始狀態控制到特定輸出。輸出可控制性和狀態可控制性不一定會有相關性。尤其： 狀態可控制性的系統不一定會是輸出可控制性的系統。例如矩陣 D 0，且矩陣 C 沒有全秩，因為輸出矩陣的結構限制，有些輸出是無法達到的。即使系統的所有狀態都可以在有限時間內達到，但仍然有些特定的輸出是無法產生的。一個明顯的例子是 D0，且矩陣 C 至少有一行為零，因此此係統無法讓該輸出有不為零的輸出。 輸出可控制性的系統也不一定會是狀態可控制性的系統。例如，假如狀態空間的維度大於輸出的維度，針對每一個輸出，都有一組可能的對應狀態組態。也就是說，系統可能會有零動態（zero dynamics），也就是系統狀態有變化，但是在輸出上完全看不出來。因此，可以在有限時間將輸出控制到特定輸出，和狀態的可控制性完全沒有關係。 針對線性連續時間系統，例如由矩陣 A、B、C 及 D 描述的系統，其 m times n1 r 輸出可控制性矩陣 begin bmatrix CB CAB CA2B cdots CAn1 B Dend bmatrix 有滿行秩（rank m）若且唯若此係統為輸出可控制系統，此結果也是卡爾曼的可控制性準則。 在有輸入限制下的可控制性 在一些沒有完全控制權的系統，常常無法在可控制子空間內將系統從任意初始位置移到從任意結束位置。會出現此一現象的原因可能是因為系統本身就有的輸入訊號限制（例如致動器的飽和）或是因為其他原因而給系統的限制（例如因為安全相關的考量）。在輸入及狀態有限制時的系統可控制性，是可到達性（reachability）及探討的內容。 行為框架中的可控制性 在所謂的行為系統理論方法（behavioral system theoretic approach）中，不會直接定義模型輸入－輸出的結構。在此框架內，系統由是由變數集合的允許軌跡來表示，其中有些可能是輸入或是輸出。 在此框架中，可控制的系統是指，系統過去的行為（外在變數的軌跡）可以和任何未來的行為連線，而其連線方式都在可允允許的系統行為內。 可穩定性 可穩定性（stabilizability）是比可控制性要弱的一個條件。系統具有可穩定性若所有不可控的狀態都有穩定的動態特性。因此雖然系統中有一些狀態是不可控的，在系統動作時，所有的狀態都還是維持在一定的範圍內（有界）。Hautus 引理有針對可穩定性的判斷 可達到集合 令 T Т，且 x X（其中 X 是所有可能狀態的集合，Т是一段時間區間）。在時間 T 內從 x 開始的可達到集合（reachable set）定義為 RT x leftz in X x overset Trightarrow z right，其中 xz 表示存在一個在時間 T 內從 x 到 z 的狀態轉換。 針對自主系統，其可達到集合為： Im RIm BIm ABIm An1 B 其中 R 為可控制性矩陣。 若以可達到集合來表示，系統有可控制性若且唯若 Im RRn。 證明 根據以下的等式： RB AB An1 B Im RIm B AB An1 B dim Im Rrank R 考慮系統可控制，因此 R 的 zhhans 列；zhhant 行； 需為線性獨立，因此 dim Im Rn rank Rn Im RRnquad blacksquare 另一個和可達到集合有關的集合為可控制集合（controllable set），定義如下： CT x leftz in X z overset Trightarrow x right Sontag 提出了可達到性（reachability）和可控制性的關係 a n 維離散線性系統可控制，若且唯若： R 0Rk 0X（其中 X 為 x 的所有可能值或是狀態，且 k 為時間） b 連結時間線性系統可控制，若且唯若： R 0Re 0X 針對所有 e0。 若且唯若 C 0Ce 0X 針對所有 e0。 相關條目 可觀測性 狀態觀測器 平坦性 腳註 參考資料 外部連結 MATLAB function for checking controllability of a system Mathematica function for checking controllability of a system Category 控制理論