新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 控制系統的時域分析法--控制系統的時域分析法

        控制系統的時域分析法--控制系統的時域分析法

        作者: 時間:2012-03-17 來源:網絡 收藏
        3.7 用MATLAB進行暫態響應分析

        3.7.1 線性系統的MATLAB表示

        系統的傳遞函數用兩個數組來表示??紤]下列系統:

        (3-17)

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

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

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

        3.7.2傳遞函數系統單位階躍響應的求法

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

        其源程序為:

        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 單位階躍響應曲線

        3.7.3在圖形屏幕上書寫文本

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

        text(3.4, 1.4, 'Y2')

        第一個語句告訴計算機,在坐標點x=3.4,y=-0.06上寫出"Y1"。類似地,第二個語句告訴計算機,在坐標點x=3.4,y=1.4上寫出"Y1"。

        3.7.4脈沖響應

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

        例3-11

        試求下列系統的單位脈沖響應: 。MATLAB Program3-2將產生脈沖響應。由此得到的單位脈沖響應曲線如圖3-14所示。

        其源程序為:

        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 單位脈沖響應曲線

        3.7.5求脈沖響應的另一種方法

        當初始條件為零時,G(s)的單位脈沖響應與sG(s)的單位階躍響應相同。
        考慮上例中討論過的系統的單位脈沖響應。因為對于單位脈沖輸入量,R(s)=1,所以

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

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


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

        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)的單位脈沖響應')



        圖3-15 用 的單位階躍響應求得的單位脈沖響應曲線

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



        3.7.6斜坡響應

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

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

        為了得到系統的單位斜坡響應,往MATLAB程序中輸入下列分子和分母:
        num=[0 0 0 1];
        den=[1 1 1 0];
        并應用階躍響應命令。參見MATLAB Program3-4,利用此程序獲得的響應曲線如圖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 單位斜坡響應曲線
        脈沖點火器相關文章:脈沖點火器原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 三台县| 石台县| 墨江| 阿城市| 会宁县| 长沙县| 缙云县| 马龙县| 莆田市| 福贡县| 扎赉特旗| 阳春市| 东丽区| 光泽县| 盐源县| 普兰县| 曲水县| 察隅县| 长沙市| 高青县| 阳新县| 全椒县| 上高县| 盐城市| 浏阳市| 诏安县| 江陵县| 张家港市| 大连市| 米泉市| 吉木乃县| 始兴县| 佳木斯市| 阿克苏市| 衡阳县| 张北县| 铜陵市| 简阳市| 安国市| 南召县| 平利县|