摘要:在設(shè)計最優(yōu)控制系統(tǒng)時,必須首先分析出系統(tǒng)的可控性與可觀性,利用傳統(tǒng)的方法進行分析時,必須要進行線性代數(shù)矩陣的化簡,整個過程顯得比較繁瑣,且容易出錯,借助MATLAB軟件可以很好的解決這一問題,基于以上思想,本文介紹了如何使用MATLAB對線性離散系統(tǒng)可控性與可觀性的分析。
關(guān)鍵詞:控制系統(tǒng) MATLAB 可控性 可觀性
中圖分類號:TB114.2 文獻標(biāo)識碼:A 文章編號:1007-9416(2015)01-0000-00
Abstract: When designing optimal control system, we must analyze the controllability and observability of the system. And when analyzing with traditional methods, we have to simplify matrix of linear algebra. The whole process is complex and error - prone. With the help of MATLAB software, this problem is easy to solve. Therefore, based on this analysis, the paper introduces how to use the controllability and observability MATLAB linear discrete - time systems
Key words: control system;MATLAB; controllability; observability
1 引言
系統(tǒng)的可控性與可觀性分析對狀態(tài)空間分析具有十分重要的作用,系統(tǒng)的可控性是指系統(tǒng)的狀態(tài)是否能夠可以被控制,而系統(tǒng)的可觀性是指系統(tǒng)狀態(tài)的變化是否能夠由輸出檢測反應(yīng)出來。在進行控制系統(tǒng)的優(yōu)化設(shè)計時,必須首先要分析系統(tǒng)是否可控以及是否可觀,系統(tǒng)的可控性與可觀性分析往往是確定最優(yōu)系統(tǒng)是否有解的先決條件,可見系統(tǒng)的可控性與可觀性對系統(tǒng)的設(shè)計至關(guān)重要。但傳統(tǒng)的方法在分析系統(tǒng)的可控性與可觀性分析時,要進行線性代數(shù)矩陣的化簡,過程繁瑣,如果借助MATLAB軟件分析,可以簡化分析過程,同時還可以進行其他性能的分析。MATLAB是當(dāng)今最流行的數(shù)值計算軟件,MATLAB控制工具箱已經(jīng)覆蓋了控制系統(tǒng)的各個領(lǐng)域。
2 可控性分析
對于線性離散系統(tǒng):
對于線性離散系統(tǒng)分析,狀態(tài)向量系統(tǒng)可控的充分必要條件是可控性矩陣
CO=[G FG …Fn-1G] 的秩為n,即:rank[G FG …Fn-1G]=n
傳統(tǒng)的方法是利用線性代數(shù)的知識求出可控性矩陣的秩,不但費時費力,而且有可能出錯,如果借助MATLAB軟件,只需按照MATLAB的函數(shù)命令ctrb( )輸入相關(guān)參數(shù)即可,函數(shù)命令ctrb( )的調(diào)用格式為:CO=ctrb(A,B)
式中A為離散系統(tǒng)的系統(tǒng)矩陣F或者是連續(xù)系統(tǒng)的系統(tǒng)矩陣A,B是離散系統(tǒng)的控制矩陣G或者是連續(xù)系統(tǒng)的控制矩陣B,CO為系統(tǒng)的可控性矩陣,其實函數(shù)命令ctrb( )即可用于離散系統(tǒng)也可以用于連續(xù)系統(tǒng)。
若用函數(shù)命令ctrb( )運行后的可控性矩陣相同,最后計算出可控性矩陣的秩,然后根據(jù)運行結(jié)果判斷可控性矩陣的秩是否滿足狀態(tài)完全可控的充分必要條件。
例如某離散系統(tǒng)的空間狀態(tài)方程為:
若采樣周期T=0.1s,通過MATLAB軟件來分析離散系統(tǒng)的可控性。
F=[1 0 -1;0 -2 1;3 0 2];A=F;
G=[2;-1;1];B=G;
C=[0 1 0];D=0;n=3;
CAM=ctrb(A,B)
CO=[G F*G F*F*G]
程序運行后的結(jié)果:
CAM =
2 1 -7
-1 3 2
1 8 19
CO =
2 1 -7
-1 3 2
1 8 19
從運行的結(jié)果可以看出,可控性矩陣CO=CAM?,F(xiàn)以MATLAB程序來確定離散系統(tǒng)的可控性。
F=[1 0 -1;0 -2 1;3 0 2];A=F;
G=[2;-1;1];B=G;
C=[0 1 0];D=0;N=size(F);n=N(1);
CAM=ctrb(A,B);
rcam=rank(CAM);
if rcam==n
disp('system is controlled')
elseif rcam disp('system is no controlled') end 程序運行結(jié)果為: system is controlled 程序運行的結(jié)果可以看出系統(tǒng)時完全可控的。 3 可觀性分析 設(shè)離散系統(tǒng)的為 在對初始時刻l∈Tk的任一非零初始時刻x(l)=x0,都存在有限時刻m∈Tk,m>l,并且可以由[l,m]上的輸出y(k)唯一的確定x0,則稱系統(tǒng)在時刻l是完全可觀測的。系統(tǒng)完全可觀測的條件是下列矩陣的秩等于n。 其中rank(0B1)=n MATLAB中用函數(shù)命令obsv( )來求可觀性矩陣函數(shù),函數(shù)obsv( )的格式為:
OB=obsv(A,C)
其中參數(shù)A即為離散系統(tǒng)的系統(tǒng)矩陣F或者連續(xù)系統(tǒng)的系統(tǒng)矩陣A,參數(shù)C為離散系統(tǒng)的觀測矩陣或者是連續(xù)系統(tǒng)的觀測矩陣,OB為返回的系統(tǒng)可觀性矩陣。同樣以上面的空間狀態(tài)方程來分析系統(tǒng)的可觀性。
F=[1 0 -1;0 -2 1;3 0 2];
G=[2;-1;1];
C=[0 1 0];
D=0;
OB=obsv(F,C)
OB1=[C;C*F;C*F*F]
OB2=[C' F'*C' F'*F'*C']'
程序運行的結(jié)果為:
OB =
0 1 0
0 -2 1
3 4 0
OB1 =
0 1 0
0 -2 1
3 4 0
OB2 =
0 1 0
0 -2 1
3 4 0
從運行結(jié)果可以看出OB=OB1=OB2?,F(xiàn)以程序來分析系統(tǒng)的可觀性。
F=[1 0 -1;0 -2 1;3 0 2];
G=[2;-1;1];
C=[0 1 0];D=0;N=size(F);n=N(1);
OB=obsv(F,C);
rob=rank(OB);
if rob==n
disp('system is observable')
elseif rob~=n
diap('system is no observable')
end
system is observable
4 結(jié)語
通過對上述具體實例的分析,借助MATLAB軟件分析線性離散系統(tǒng)的可控性與可觀性是可行的,與傳統(tǒng)的線性代數(shù)矩陣化簡相比,只需要輸入對應(yīng)的矩陣和簡單的兩個函數(shù)命令即可對其進行分析,這樣的分析簡潔明了,不容易出錯。在系統(tǒng)的最優(yōu)設(shè)計中具有較強的實用性,MATLAB軟件已經(jīng)成為當(dāng)今控制領(lǐng)域內(nèi)最廣泛應(yīng)用在控制系統(tǒng)的計算、仿真與計算機輔助設(shè)計的軟件。
參考文獻
[1] 胡壽松.自動控制原理第四版[M].北京:國防工業(yè)出版社,2005年.
[2] 黃忠霖.控制系統(tǒng)MATLAB計算及仿真[M].北京:國防工業(yè)出版社,2004,9.
收稿日期:2015-01-16
作者簡介:蒲永卓(1976—),男,甘肅臨洮人,碩士,研究方向:計算機測量與控制。
數(shù)字技術(shù)與應(yīng)用2015年1期