控制系統(tǒng)常用的數(shù)學(xué)模型有三種:傳遞函數(shù)、零極點(diǎn)增益和狀態(tài)空間。每種模型均有連續(xù)/離散之分,它們各有特點(diǎn),有時(shí)需在各種模型之間進(jìn)行轉(zhuǎn)換。本節(jié)主要介紹它們的MATLAB表示及三種模型之間的相互轉(zhuǎn)換。
2.8.1連續(xù)系統(tǒng)數(shù)學(xué)模型的MATLAB表示 1. 傳遞函數(shù)模型 當(dāng): 則在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. 零極點(diǎn)增益模型 當(dāng): 時(shí) |
則在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)空間模型 當(dāng): 時(shí) |
則在MATLAB中,該控制系統(tǒng)可用(a,b,c,d)矩陣組表示。 4. 傳遞函數(shù)的部分分式展開 當(dāng): 時(shí) |
在MATLAB中直接用分子/分母的系數(shù)表示時(shí)有 num=[b0,b1,…,bm]; den = [a0,a1,…,an]; 則命令 [r,p,k] = residue(num,den) 將求出兩個(gè)多項(xiàng)式Y(jié)(s)和X(s)之比的部分分式展開的留數(shù)、極點(diǎn)和直接項(xiàng)。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,極點(diǎn)位置為列向量p,直接項(xiàng)是行向量k。以下是Y(s)/X(s)的部分分式展開的MATLAB表達(dá)形式: 命令 [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ù)學(xué)模型的MATLAB表示 1. 傳遞函數(shù)模型: 2. 零極點(diǎn)增益模型: 3. 狀態(tài)空間模型: 2.8.3模型之間的轉(zhuǎn)換 同一個(gè)控制系統(tǒng)都可用上述三種不同的模型表示,為分析系統(tǒng)的特性,有必要在三種模型之間進(jìn)行轉(zhuǎn)換。MATLAB的信號(hào)處理和控制系統(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為輸入的序號(hào)。轉(zhuǎn)換公式為
ss2zp命令:將狀態(tài)空間模型轉(zhuǎn)換成零極點(diǎn)增益模型。 格式為:[Z, P, K]=ss2zp(A, B, C, D, iu) 式中,iu為輸入的序號(hào)。
tf2ss命令:將傳遞函數(shù)模型轉(zhuǎn)換成狀態(tài)空間模型。 格式為:[A, B, C, D]=tf2ss(num, den)
tf2zp命令:將傳遞函數(shù)模型轉(zhuǎn)換成零極點(diǎn)增益模型。 格式為:[Z, P, K]=tf2zp(num, den)
zp2ss命令:將零極點(diǎn)模型轉(zhuǎn)換成狀態(tài)空間模型。 格式為:[A, B, C, D]=zp2ss(Z, P, K)
zp2tf命令:將零極點(diǎn)模型轉(zhuǎn)換成傳遞函數(shù)模型。 格式為:[num, den]=zp2tf(Z, P, K) 2.8.4控制系統(tǒng)建模 對簡單系統(tǒng)的建??芍苯硬捎萌N基本模型:傳遞函數(shù)、零極點(diǎn)增益、狀態(tài)空間模型。但實(shí)際中經(jīng)常遇到幾個(gè)簡單系統(tǒng)組合成一個(gè)復(fù)雜系統(tǒng)。常見形式有:并聯(lián)、串聯(lián)、閉環(huán)及反饋等連接。 1. 并聯(lián):將兩個(gè)系統(tǒng)按并聯(lián)方式連接,在MATLAB中可用parallel函數(shù)實(shí)現(xiàn)。命令格式為:[nump, denp] = parallel(num1, den1, num2, den2) 其對應(yīng)的結(jié)果為:Gp(s)=G1(s)+G2(s) 2. 串聯(lián):將兩個(gè)系統(tǒng)按串聯(lián)方式連接,在MATLAB中可用series函數(shù)實(shí)現(xiàn)。命令格式為:[nums, dens] = series(num1, den1, num2, den2) 其對應(yīng)的結(jié)果為:Gs(s)=G1(s)+G2(s) 3. 閉環(huán):將系統(tǒng)通過正負(fù)反饋連接成閉環(huán)系統(tǒng),在MATLAB中可用feedback函數(shù)實(shí)現(xiàn)。命令格式為:[numf, denf] = feedback(num1, den1, num2, den2, sign) sign為可選參數(shù),sign=-1為負(fù)反饋,而sign=1對應(yīng)為正反饋。缺省值為負(fù)反饋。其對應(yīng)的結(jié)果為: 4. 單位反饋:將兩個(gè)系統(tǒng)按反饋方式連接成閉環(huán)系統(tǒng)(對應(yīng)于單位反饋系統(tǒng)),在MATLAB中可用cloop函數(shù)實(shí)現(xiàn)。命令格式為:[numc, denc] = cloop(num, den, sign) sign為可選參數(shù),sign=-1為負(fù)反饋,而sign=1對應(yīng)為正反饋。缺省值為負(fù)反饋。其對應(yīng)的結(jié)果為: |
評論