(d)閉環系統的誤差傳遞函數
3. 控制系統的方框圖模型 若已知控制系統的方框圖,使用MATLAB函數可實現方框圖轉換。 a).串聯 如圖所示G1(s)和G2(s)相串聯,在MATLAB中可用串聯函數series( )來求G1(s)G2(s),其調用格式為 [num,den]=series(num1,den1,num2,den2) 其中: b)并聯 如圖所示G1(s)和G2(s)相并聯,可由MATLAB的并聯函數parallel( )來實現,其調用格式為 [num,den]=parallel(num1,den1,num2,den2) 其中: c.反饋 反饋連接如圖所示。使用MATLAB中的feedback( )函數來實現反饋連接,其調用格式為 [num,den]=feedback(numg,deng,numh,denh,sign) 式中: sign為反饋極性,若為正反饋其為1,若為負反饋其為-1或缺省。 例如 G(s)= , H(s)= ,負反饋連接。 >>numg=[1,1];deng=[1,2]; >>numh=[1];denh=[1,0]; >>[num,den]=feedback(numg,deng,numh,denh,-1); >> printsys(num,den) num/den= MATLAB中的函數series,parallel和feedback可用來簡化多回路方框圖。另外,對于單位反饋系統,MATLAB可調用cloop( )函數求閉環傳遞函數,其調用格式為 [num,den]=cloop(num1,den1,sign) 4. 控制系統的零極點模型 傳遞函數可以是時間常數形式,也可以是零極點形式,零極點形式是分別對原系統傳遞函數的分子和分母進行因式分解得到的。MATLAB控制系統工具箱提供了零極點模型與時間常數模型之間的轉換函數,其調用格式分別為 [z,p,k]= tf2zp(num,den) [num,den]= zp2tf(z,p,k) 其中第一個函數可將傳遞函數模型轉換成零極點表示形式,而第二個函數可將零極點表示方式轉換成傳遞函數模型。 例如 G(s)= 用MATLAB語句表示: >>num=[12 24 12 20];den=[2 4 6 2 2]; >>[z,p,k]=tf2zp(num,den) z= -1.9294 -0.0353+0.9287i -0.0353-0.9287i ? p=-0.9567+1.2272i -0.9567-1.2272i -0.0433+0.6412i -0.0433-0.6412i k=6 即變換后的零極點模型為 G(s)= 可以驗證MATLAB的轉換函數,調用zp2tf()函數將得到原傳遞函數模型。 >>[num,den]=zp2tf(z,p,k) num = 0 6.0000 12.0000 6.0000 10.0000 den = 1.0000 2.0000 3.0000 1.0000 1.0000 即 5. 狀態空間表達式 狀態空間表達式是描述系統特性的又一種數學模型,它由狀態方程和輸出方程構成,即 x(t)=Ax(t)+Bu(t) y(t)=Cx(t)+Du(t) 式中 x(t)∈Rn 稱為狀態向量,n為系統階次; A∈Rn×n 稱為系統矩陣; B∈Rn×p 稱為控制矩陣,p為輸入量個數; C∈Rq×n 稱為輸出矩陣; D∈Rq×p 稱為連接矩陣,q為輸出量個數。 在一般情況下,控制系統的狀態空間表達式項簡記為(A,B,C,D)。 例如:設一個雙輸入雙輸出系統的狀態空間表達式為 系統模型可由MATLAB命令直觀地表示: >>A=[1,2,4;3,2,6;0,1,5] >>B=[4,6;2,2;0,2] >>C=[0,0,1;0,2,0] >>D= zeros(2,2) MATLAB的控制系統工具箱提供了由狀態空間表達式轉換成傳遞函數或由傳遞函數轉換成狀態空間表達式的轉換函數ss2tf( )和tf2ss( )。其調用格式為 [num,den]=ss2tf(A,B,C,D,iu) 反過來,若已知系統的傳遞函數,求取系統狀態空間表達式的調用格式為 [A,B,C,D]=tf2ss(n