新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 控制系統(tǒng)的時(shí)域分析法--控制系統(tǒng)的時(shí)域分析法

控制系統(tǒng)的時(shí)域分析法--控制系統(tǒng)的時(shí)域分析法

作者: 時(shí)間:2012-03-17 來源:網(wǎng)絡(luò) 收藏
3.7 用MATLAB進(jìn)行暫態(tài)響應(yīng)分析

3.7.1 線性系統(tǒng)的MATLAB表示

系統(tǒng)的傳遞函數(shù)用兩個(gè)數(shù)組來表示??紤]下列系統(tǒng):

(3-17)

該系統(tǒng)可以表示為兩個(gè)數(shù)組,每一個(gè)數(shù)組由相應(yīng)的多項(xiàng)式系數(shù)組成,并且以s的降冪排列如下:
num=[0 0 25]
den=[1 4 25]
注意,必要時(shí)需補(bǔ)加數(shù)字零。

如果已知num和den(即閉環(huán)傳遞函數(shù)的分子和分母),則命令step(num,den),step(num,den,t) 將會(huì)產(chǎn)生出單位階躍響應(yīng)圖(在階躍命令中,t為用戶指定時(shí)間)。

當(dāng)階躍命令的左端含有變量時(shí),如:[y,x,t]=step(num,den,t)顯示屏上不會(huì)顯示出響應(yīng)曲線。因此,必須利用plot命令去查看響應(yīng)曲線。矩陣y和x分別包含系統(tǒng)在計(jì)算時(shí)間點(diǎn)t求出的輸出響應(yīng)和狀態(tài)響應(yīng)(y的列數(shù)與輸出量數(shù)相同,每一行對應(yīng)一個(gè)相應(yīng)的時(shí)間t單元。x的列數(shù)與狀態(tài)數(shù)相同,每一行對應(yīng)一個(gè)相應(yīng)的時(shí)間t單元)。

3.7.2傳遞函數(shù)系統(tǒng)單位階躍響應(yīng)的求法

下面討論由方程(3-17)描述的系統(tǒng)的單位階躍響應(yīng)。MATLAB Program3-1將給出該系統(tǒng)的單位階躍響應(yīng)曲線。該單位階躍響應(yīng)曲線如圖3-13所示。

其源程序?yàn)椋?/P>

MATLAB Program 3-1
num=[0 0 25];
den=[1 4 25];
step(num,den)
grid
title('Unit-Step Response of G(s)=25/(s^2+4s+25)')


圖3-13 單位階躍響應(yīng)曲線

3.7.3在圖形屏幕上書寫文本

為了在圖形屏幕上書寫文本,例如,可以輸入下列語句:
text(3.4, -0.06, 'Y1')

text(3.4, 1.4, 'Y2')

第一個(gè)語句告訴計(jì)算機(jī),在坐標(biāo)點(diǎn)x=3.4,y=-0.06上寫出"Y1"。類似地,第二個(gè)語句告訴計(jì)算機(jī),在坐標(biāo)點(diǎn)x=3.4,y=1.4上寫出"Y1"。

3.7.4脈沖響應(yīng)

利用下列MATLAB命令中的一種命令,可以得到的單位脈沖響應(yīng):
impulse(num,den)
[y,x,t]=impulse(num,den)
[y,x,t]=impulse(num,den,t)

例3-11

試求下列系統(tǒng)的單位脈沖響應(yīng): 。MATLAB Program3-2將產(chǎn)生脈沖響應(yīng)。由此得到的單位脈沖響應(yīng)曲線如圖3-14所示。

其源程序?yàn)椋?/P>

MATLAB Program 3-2

num=[0 0 1];

den=[1 0.2 1];

impulse(num,den);

grid

title(‘Unit-Impulse Response of G(s)=1/(s^2+0.2s+1)’)


圖3-14 單位脈沖響應(yīng)曲線

3.7.5求脈沖響應(yīng)的另一種方法

當(dāng)初始條件為零時(shí),G(s)的單位脈沖響應(yīng)與sG(s)的單位階躍響應(yīng)相同。
考慮上例中討論過的系統(tǒng)的單位脈沖響應(yīng)。因?yàn)閷τ趩挝幻}沖輸入量,R(s)=1,所以

因此,可以將G(s)的單位脈沖響應(yīng)變換成sG(s)的單位階躍響應(yīng)。

如果向MATLAB輸入下列num和den:
num=[0 1 0]
den=[1 0.2 1]


利用在MATLAB Program3-2中給出的階躍響應(yīng)命令,可以得到系統(tǒng)的單位脈沖響應(yīng)曲線,如圖3-15所示。在圖3-15中,x軸和y軸都是自動(dòng)地進(jìn)行標(biāo)注的。如果希望對x軸和y軸做不同的標(biāo)注,則需要改變階躍命令。例如,如果需要在x軸上標(biāo)注"t Sec",在y軸上標(biāo)注"Input and Output",則應(yīng)利用帶有左端變量的階躍響應(yīng)命令,其源程序如下:

MATLAB Program 3-3
num=[0 1 1];
den=[1 0.2 1];
impulse(num,den);
grid;
title('G(s)=s/(s^2+0.2s+1)的單位脈沖響應(yīng)')



圖3-15 用 的單位階躍響應(yīng)求得的單位脈沖響應(yīng)曲線

c=step(num,den,t)
或者
[y,x,t]=step(num,den,t)
參見MATLAB Program3-4。



3.7.6斜坡響應(yīng)

在MATLAB中沒有斜坡響應(yīng)命令,因此,需要利用階躍響應(yīng)命令求斜坡響應(yīng)。特別是當(dāng)求傳遞函數(shù)系統(tǒng)G(s)的斜坡響應(yīng)時(shí),可以先用s除G(s),再利用階躍響應(yīng)命令。例如,考慮下列閉環(huán)系統(tǒng):

對于單位斜坡輸入量,R(s)=1/(s2),因此

為了得到系統(tǒng)的單位斜坡響應(yīng),往MATLAB程序中輸入下列分子和分母:
num=[0 0 0 1];
den=[1 1 1 0];
并應(yīng)用階躍響應(yīng)命令。參見MATLAB Program3-4,利用此程序獲得的響應(yīng)曲線如圖3-16所示。其源程序如下:

MATLAB Program 3-4
num=[0 0 0 1];
den=[1 1 1 0];
t=0:0.1:7;
c=step(num,den,t);
plot(t,c,'o',t,t,'-')
grid;
title('Unit-Ramp Response Curve for System G(s)=1/(s^2+s+1)')
xlabel('t Sec')
ylabel('Input and Output')


圖3-16 單位斜坡響應(yīng)曲線
脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉