<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

          系統(tǒng)的傳遞函數(shù)用兩個數(shù)組來表示。考慮下列系統(tǒng):

          (3-17)

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

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

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

          第一個語句告訴計(jì)算機(jī),在坐標(biāo)點(diǎn)x=3.4,y=-0.06上寫出"Y1"。類似地,第二個語句告訴計(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)初始條件為零時,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軸都是自動地進(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)時,可以先用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)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();