控制系統(tǒng)常用的數(shù)學模型有三種:傳遞函數(shù)、零極點增益和狀態(tài)空間。每種模型均有連續(xù)/離散之分,它們各有特點,有時需在各種模型之間進行轉(zhuǎn)換。本節(jié)主要介紹它們的MATLAB表示及三種模型之間的相互轉(zhuǎn)換。
2.8.1連續(xù)系統(tǒng)數(shù)學模型的MATLAB表示
1. 傳遞函數(shù)模型
當:
則在MATLAB中,直接用分子/分母的系數(shù)表示,即 ????????num=[b0,b1,…,bm]; ????????den = [a0,a1,…,an];
例2-7 用MATLAB表示傳遞函數(shù)為 的系統(tǒng)。
解:在MATLAB環(huán)境下輸入 ng=[1 1]; dg=[1 3 2]; printsys(ng,dg) %此處printsys命令是傳遞函數(shù)顯示命令。
則執(zhí)行后得到如下結(jié)果:
2. 零極點增益模型
當:
時 |
則在MATLAB中,用[z,p,k]矢量組表示,即 ????????z=[z0,z1,…,zm]; ????????p=[p0,p1,…,pn]; ????????k=[k];
例2-8 用MATLAB表示傳遞函數(shù)為 的系統(tǒng)。
解:在MATLAB環(huán)境下輸入 z=-1; p=[0 -1 -2]; k=1.5; [num,den]=zp2tf[z,p,k]; printsys(num,den) %此處printsys命令是傳遞函數(shù)顯示命令。 則執(zhí)行后得到如下結(jié)果:
3. 狀態(tài)空間模型
當:
時 |
則在MATLAB中,該控制系統(tǒng)可用(a,b,c,d)矩陣組表示。
4. 傳遞函數(shù)的部分分式展開
當:
時 |
在MATLAB中直接用分子/分母的系數(shù)表示時有 ????num=[b0,b1,…,bm]; ????den = [a0,a1,…,an]; 則命令 ????[r,p,k] = residue(num,den) 將求出兩個多項式Y(jié)(s)和X(s)之比的部分分式展開的留數(shù)、極點和直接項。Y(s)/X(s)的部分分式展開由下式給出:
例2-A2 考慮下列傳遞函數(shù):
命令 [r,p,k] = residue(num,den) 將給出下列結(jié)果:
[r,p,k]=residue(num,den) r= -6.000 -4.000 3.000 p= -3.000 -2.000 -1.000 k= 2
留數(shù)為列向量r,極點位置為列向量p,直接項是行向量k。以下是Y(s)/X(s)的部分分式展開的MATLAB表達形式:
命令 [num,den] = residue(r,p,k)
執(zhí)行后得到如下結(jié)果:
[num,den]=residue(r,p,k) num= 2.0000 5.0000 3.0000 6.0000 den= 1.0000 6.0000 11.0000 6.0000
2.8.2離散系統(tǒng)數(shù)學模型的MATLAB表示
1. 傳遞函數(shù)模型:
2. 零極點增益模型:
3. 狀態(tài)空間模型:
2.8.3模型之間的轉(zhuǎn)換
同一個控制系統(tǒng)都可用上述三種不同的模型表示,為分析系統(tǒng)的特性,有必要在三種模型之間進行轉(zhuǎn)換。MATLAB的信號處理和控制系統(tǒng)工具箱中,都提供了模型變換的函:ss2tf,ss2zp,tf2ss,tf2zp,zp2ss,zp2tf,它們的關(guān)系可用圖2-17所示的結(jié)構(gòu)來表示。
|
圖2-18 三種模型之間的轉(zhuǎn)換 |
說明:
ss2tf命令:將狀態(tài)空間模型轉(zhuǎn)換成傳遞函數(shù)模型。 格式為:[num,den]=ss2tf(A,B,C,D,iu) 式中,iu為輸入的序號。轉(zhuǎn)換公式為
ss2zp命令:將狀態(tài)空間模型轉(zhuǎn)換成零極點增益模型。 格式為:[Z, P, K]=ss2zp(A, B, C, D, iu) 式中,iu為輸入的序號。
tf2ss命令:將傳遞函數(shù)模型轉(zhuǎn)換成狀態(tài)空間模型。 格式為:[A, B, C, D]=tf2ss(num, den)
tf2zp命令:將傳遞函數(shù)模型轉(zhuǎn)換成零極點增益模型。 格式為:[Z, P, K]=tf2zp(num, den)
zp2ss命令:將零極點模型轉(zhuǎn)換成狀態(tài)空間模型。 格式為:[A, B, C, D]=zp2ss(Z, P, K)
zp2tf命令:將零極點模型轉(zhuǎn)換成傳遞函數(shù)模型。 格式為:[num, den]=zp2tf(Z, P, K)
2.8.4控制系統(tǒng)建模
對簡單系統(tǒng)的建模可直接采用三種基本模型:傳遞函數(shù)、零極點增益、狀態(tài)空間模型。但實際中經(jīng)常遇到幾個簡單系統(tǒng)組合成一個復雜系統(tǒng)。常見形式有:并聯(lián)、串聯(lián)、閉環(huán)及反饋等連接。
1. 并聯(lián):將兩個系統(tǒng)按并聯(lián)方式連接,在MATLAB中可用parallel函數(shù)實現(xiàn)。命令格式為:[nump, denp] = parallel(num1, den1, num2, den2) 其對應(yīng)的結(jié)果為:Gp(s)=G1(s)+G2(s)
2. 串聯(lián):將兩個系統(tǒng)按串聯(lián)方式連接,在MATLAB中可用series函數(shù)實現(xiàn)。命令格式為:[nums, dens] = series(num1, den1, num2, den2) 其對應(yīng)的結(jié)果為:Gs(s)=G1(s)+G2(s)
3. 閉環(huán):將系統(tǒng)通過正負反饋連接成閉環(huán)系統(tǒng),在MATLAB中可用feedback函數(shù)實現(xiàn)。命令格式為:[numf, denf] = feedback(num1, den1, num2, den2, sign) sign為可選參數(shù),sign=-1為負反饋,而sign=1對應(yīng)為正反饋。缺省值為負反饋。其對應(yīng)的結(jié)果為:
4. 單位反饋:將兩個系統(tǒng)按反饋方式連接成閉環(huán)系統(tǒng)(對應(yīng)于單位反饋系統(tǒng)),在MATLAB中可用cloop函數(shù)實現(xiàn)。命令格式為:[numc, denc] = cloop(num, den, sign) sign為可選參數(shù),sign=-1為負反饋,而sign=1對應(yīng)為正反饋。缺省值為負反饋。其對應(yīng)的結(jié)果為:
|
評論
查看更多