系統(tǒng)建模的MATLAB實(shí)現(xiàn)_第1頁(yè)
系統(tǒng)建模的MATLAB實(shí)現(xiàn)_第2頁(yè)
系統(tǒng)建模的MATLAB實(shí)現(xiàn)_第3頁(yè)
系統(tǒng)建模的MATLAB實(shí)現(xiàn)_第4頁(yè)
系統(tǒng)建模的MATLAB實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第三章 系統(tǒng)建模的 MATLAB 實(shí)現(xiàn)在第二章介紹了系統(tǒng)模型和建模的基本理論,各種計(jì)算機(jī)語(yǔ)言都可以實(shí)現(xiàn)建模。本章以 MATLAB 語(yǔ)言為例,介紹建模的計(jì)算機(jī)實(shí)現(xiàn)。關(guān)于 MATLAB 的基本知識(shí)見(jiàn)附錄。3.1 數(shù)學(xué)模型的 MATLAB 實(shí)現(xiàn)3.1.1 系統(tǒng)時(shí)域模型的 MATLAB 實(shí)現(xiàn)如上章所述,對(duì)于連續(xù)時(shí)間系統(tǒng)可用微分方程和傳遞函數(shù)來(lái)描述,本節(jié)講述如何用 MATLAB 實(shí)現(xiàn)系統(tǒng)的時(shí)域模型。例如,假設(shè)有一個(gè)單輸入單輸出連續(xù)系統(tǒng)的輸入信號(hào)為ut),輸出信號(hào)為yt),系統(tǒng)相應(yīng)的微分方程如式(2.1)所示,對(duì)此微分方程作 Laplace 變換,則該連續(xù)系統(tǒng)的傳遞函數(shù)為(式(2.2Y(s) b s b

2、s b sbm1G(s) mmm110U(s) a s a s a sann1nn110在較早的版本 MATLAB 4.2 中,該系統(tǒng)可由其分子和分母多項(xiàng)式的系數(shù)(按s 的降冪排列)所構(gòu)成的兩個(gè)向量唯一地確定下來(lái),即NUM = b , b , , b mm-10DEN = a , a , , a nn-10在 MATLAB 5 及以后的版本中,用函數(shù) TF 可以建立一個(gè)系統(tǒng)傳遞函數(shù)模型,其調(diào)用格式為SYS=tf(NUM,DEN)【例 3.1】若給定系統(tǒng)的傳遞函數(shù)為18(s2)G(s) (s15)(s25)(s0.4)則可以將其用 MATLAB 形式表達(dá)出來(lái):% MATLAB PROGRAM 3

3、-1num=18* 0, 1, 2; den=conv(conv( 1 15 , 1 25 , 1 0.4 );printsys(num, dens)運(yùn)行結(jié)果:num/den=18S36S340.4S2391S150此例也可建立傳遞函數(shù)模型如下:% MATLAB PROGRAM 3-2num=18* 0, 1, 2; den=conv(conv( 1 15 , 1 25 , 1 0.4 );mod=tf(num, den)運(yùn)行結(jié)果:Transfer function:18S36S340.4S2391S150對(duì)于離散時(shí)間系統(tǒng),對(duì)式(2.14)差分方程兩邊取 z 變換,并設(shè)y,u及其各階差分的初始

4、值均為零,可得Y(z) f z f z f z fm1G(z) (3.1mmm1100U(z) g z g z g z gnn1nn11)G(z)稱為系統(tǒng)的 z 函數(shù)。在 MATLAB 4.2 中,該離散系統(tǒng)也可以由其分子和分母多項(xiàng)式的系數(shù)(按 z的降冪排列)所構(gòu)成的兩個(gè)向量來(lái)唯一確定,即40NUM = f , f , , f mm-10DEN = g , g , , g nn-10在 MATLAB 5 及以后的版本中,可用函數(shù) TF 來(lái)建立系統(tǒng)傳遞函數(shù)模型,其調(diào)用格式為SYS=tf(NUM,DEN)其中,NUM 和 DEN 的意義同上,T 為采樣時(shí)間間隔。此外,如果已知二階系統(tǒng)的兩個(gè)參數(shù)自然

5、頻率 和阻尼比 ,則可通n過(guò)函數(shù) ORD2 求出此系統(tǒng)傳遞函數(shù)模型和狀態(tài)方程模型,其調(diào)用格式分別為A,B,C,D= ord2( , )n調(diào)用結(jié)果返回連續(xù)二階系統(tǒng)狀態(tài)方程的系數(shù)矩陣 A, B, C, D 的表達(dá)式;NUM,DEN=ord2( , )n調(diào)用結(jié)果返回連續(xù)二階系統(tǒng)用分子和分母多項(xiàng)式表示的傳遞函數(shù)。傳遞函數(shù)表達(dá)式用于單輸入單輸出(SISO)系統(tǒng)建模非常方便。也可用它來(lái)表達(dá)多輸入多輸出(MIMO)系統(tǒng)。MATLAB 提供用傳遞函數(shù)矩陣表達(dá)多輸入輸出系統(tǒng)模型的方法,這兒不再介紹。3.1.2 系統(tǒng)狀態(tài)空間模型的 MATLAB 實(shí)現(xiàn)狀態(tài)方程是現(xiàn)代控制理論描述系統(tǒng)模型的一種方法。一個(gè)線性系統(tǒng)可以采

6、用狀態(tài)空間形式來(lái)表達(dá): AxBuy CxDu(3.2)式中x col(x x x )為n維狀態(tài)向量,u為r維輸入向量,y為m維輸出向量。12n41在 MATLAB 4.2 中,該線性系統(tǒng)可以用狀態(tài)方程系數(shù)矩陣,B,C,D來(lái)描述。在 MATLAB 5 及以后的版本中,用函數(shù) SS 可以建立一個(gè)系統(tǒng)狀態(tài)方程模型,調(diào)用格式為SYS = ss (A, B, C, D)其中,A, B, C, D 為系統(tǒng)狀態(tài)方程系數(shù)矩陣。【例 3.2】若給定系統(tǒng)的狀態(tài)方程系數(shù)矩陣為 40.4 139 150 1 A10010, B 0 , C 0 18 360 , D 0 0 0 則可以將其用 MATLAB 形式表達(dá)出來(lái)

7、:% MATLAB PROGRAM 3-3a = -40.4 391 150 ; 1 0 0 ; 0 1 0 ; b = 1 0 0 ; c = 0 18 360 ; d = 0 ;printsys ( a, b, c, d )運(yùn)行結(jié)果:a =x1-40.400001.00000 x2x3x1x2x3-391.00000 -150.0000000001.00000b =u11.00000 x1x2x300c =x10 x218.00000 x3y1360.0000042d =u10y1在 MATLAB 5 中,上例可直接調(diào)用函數(shù) SS 求得相同結(jié)果。對(duì)于離散系統(tǒng)來(lái)講,狀態(tài)空間模型可以寫成x(k

8、 Fx(k)Gu(k)(3.3y(k Cx(k Du(k )同樣地,離散系統(tǒng)狀態(tài)空間在 MATLAB 4.2 中也可以簡(jiǎn)記為F,G,C,D。在 MATLAB 5 及以后的版本中,用函數(shù) SS 也可以建立一個(gè)離散系統(tǒng)傳遞函數(shù)模型,其調(diào)用格式為SYS = ss (F, G, C, D)其中,F(xiàn), G, C, D 為離散系統(tǒng)狀態(tài)方程系數(shù)矩陣;T 為采樣時(shí)間間隔。3.1.3 系統(tǒng)的零極點(diǎn)模型零極點(diǎn)模型實(shí)際上是傳遞函數(shù)模型的另一種形式,其方法是對(duì)原系統(tǒng)傳遞函數(shù)的分子和分母進(jìn)行因式分解,以獲得系統(tǒng)的零極點(diǎn)表達(dá)形式。對(duì)于 SISO 系統(tǒng)來(lái)講,其零極點(diǎn)模型可以簡(jiǎn)記為(sz )(sz ) (sz )G(s) K

9、(3.412m(s p )(s p ) (s p )12n)式中,z i ,m)和 p (j ,n)分別為系統(tǒng)的零極點(diǎn),K 為系統(tǒng)增益。ij在 MATLAB 4.2 中,不能由零極點(diǎn)表達(dá)式建立系統(tǒng)零極點(diǎn)模型,只能由其它模型形式轉(zhuǎn)換得到。在 MATLAB 5 及以后的版本中,系統(tǒng)的零極點(diǎn)模型可以用函數(shù) ZPK 來(lái)直接建立系統(tǒng)零極點(diǎn)模型,其調(diào)用格式為43SYS=zpk ( Z, P, K )其中,Z, P, K分別為系統(tǒng)的零點(diǎn)、極點(diǎn)和增益?!纠?3.3】系統(tǒng)模型同例 3.1,求系統(tǒng)的零極點(diǎn)模型。% MATLAB PROGRAM 3-4Sys=zpk (-2, -15, -25, -0.4 , 18

10、)運(yùn)行結(jié)果:zero/pole/gain:18(s2)(s15)(s25)(s0.4)同時(shí) MATLAB 提供了多項(xiàng)式求根的函數(shù) ROOTS 來(lái)求系統(tǒng)的零極點(diǎn),調(diào)用格式為Z = roots(MUM)或P = roots (DEN)其中,NUM、DEN 分別為傳遞函數(shù)模型的分子和分母多項(xiàng)式系數(shù)所構(gòu)成的向量。對(duì)于離散系統(tǒng),也可以用類似的方法獲得零極點(diǎn)模型。3.2 系統(tǒng)模型轉(zhuǎn)換的 MATLAB 實(shí)現(xiàn)如第二章所述,對(duì)系統(tǒng)的數(shù)學(xué)模型描述主要有微分方程模型、傳遞函數(shù)模型、狀態(tài)空間模型和零極點(diǎn)模型等形式,這些模型之間存在著內(nèi)在的等效關(guān)系。在一些場(chǎng)合下,需要用其中一種形式的模型,而在另一種場(chǎng)合下可能又需要另外

11、形式的模型,所以研究由一種模型轉(zhuǎn)換為另一種模型具有非常重要的意義。下面介紹模型轉(zhuǎn)換的 MATLAB 實(shí)現(xiàn)。MATLAB 4.2 控制系統(tǒng)工具箱提供了系統(tǒng)模型之間相互轉(zhuǎn)換的函數(shù)。如:1TF2SS 是用來(lái)由系統(tǒng)傳遞函數(shù)模型來(lái)求取其狀態(tài)空間模型,調(diào)用格式為A, B, C, D = tf2ss ( NUM, DEN )44其中,NUM、DEN 分別為傳遞函數(shù)模型的分子和分母多項(xiàng)式系數(shù)向量;返回結(jié)果A, B, C, D為系統(tǒng)狀態(tài)空間模型系數(shù)矩陣。2函數(shù) SS2TF 用系統(tǒng)狀態(tài)空間模型來(lái)求取其傳遞函數(shù)模型,調(diào)用格式為NUM, DEN = ss2tf (A, B, C, D, IU )其中,A, B, C,

12、 D 為系統(tǒng)狀態(tài)方程系數(shù)矩陣,IU 指定是哪個(gè)輸入,返回結(jié)果 DEN和 NUM 分別為傳遞函數(shù)分母和分子多項(xiàng)式系數(shù)向量。3函數(shù) SS2ZP 是用來(lái)由系統(tǒng)狀態(tài)空間模型來(lái)求取其零極點(diǎn)模型,調(diào)用格式為Z, P, K = ss2zp (A, B, C, D, IU)其中,Z, P, K 分別為系統(tǒng)零極點(diǎn)模型的零點(diǎn)、極點(diǎn)和增益,其余參數(shù)說(shuō)明同上。4函數(shù) TF2ZP 是用來(lái)由系統(tǒng)傳遞函數(shù)模型來(lái)求取其零極點(diǎn)模型。調(diào)用格式為Z, P, K = tf2zp (NUM, DEN)參數(shù)說(shuō)明同上。5函數(shù) ZP2SS 是用來(lái)由系統(tǒng)零極點(diǎn)模型來(lái)求取其狀態(tài)空間模型,調(diào)用格式為A, B, C, D = zp2ss (Z, P

13、, K)參數(shù)說(shuō)明同上。6函數(shù) SS2SS 是用來(lái)由系統(tǒng)狀態(tài)空間模型來(lái)求取其具有相似性的狀態(tài)空間模型,調(diào)用格式為At, Bt, Ct, Dt = ss2ss (A, B, C, D, T)其中,T 為轉(zhuǎn)換矩陣;(A, B, C, D)和(At, Bt, Ct, Dt)分別為系統(tǒng)轉(zhuǎn)換之前和之后的狀態(tài)空間表達(dá)式系數(shù)矩陣。MATLAB 5 及以后的版本提供了更為簡(jiǎn)單的模型轉(zhuǎn)換形式:Newsys = tf (sys)可將非傳遞函數(shù)形式的系統(tǒng)模型 sys 轉(zhuǎn)換成傳遞函數(shù)模型 Newsys;45Newsys = zpk (sys)可將非零極點(diǎn)形式的系統(tǒng)模型 sys 轉(zhuǎn)換成零極點(diǎn)模型 Newsys;Newsy

14、s= ss (sys)可將非狀態(tài)空間形式的系統(tǒng)模型 sys 轉(zhuǎn)換成狀態(tài)空間模型。0.04z0.04【例 3.4】將系統(tǒng)G(z) 轉(zhuǎn)換為零極點(diǎn)形式,采樣周期為 0.01。z z z0.933用 MATI.AB 編寫程序如下:% MATLAB PROGAM3-5num = 0.04 0.04 ;den = 1 1 81 0.9 ;sysl = tf ( num, den, 0.01 ) ;sys2 = zpk ( sysl )% 傳遞函數(shù)模型% 轉(zhuǎn)換為零極點(diǎn)形式運(yùn)行結(jié)果:zero/pole/gain:0.04(z(zz2zsampling time: 0.013.3 系統(tǒng)模型參數(shù)獲取的 MATLA

15、B 實(shí)現(xiàn)在系統(tǒng)分析中,往往需要知道所建立的系統(tǒng)模型的某參數(shù)以便直接利用參數(shù)中的有關(guān)數(shù)據(jù)。為此,MATLAB 提供了專用函數(shù) TFDATA,SSDATA,調(diào)用格式分別為ZPKDATA 和num, den = tfdata (sys, v)z, p, k = zpkdata (sys)A, B, C, D = ssdata (sys)46【例 3.5】求取例 3.4 給定的傳遞函數(shù)模型分子多項(xiàng)式和分母多項(xiàng)式系數(shù)向量。在 MATLAB COMMAND 窗口下鍵入:num, nen, Ts = tfdata ( sys, v)num = 000.0400 0.0400den = 1.0000 -2.0

16、000 81.0000 0.9000Ts = 0.01003.4 系統(tǒng)變量名的設(shè)置在系統(tǒng)運(yùn)算、連接和分析時(shí),為一目了然地知道系統(tǒng)變量的物理意義及這些 MATLAB 中可用函數(shù) SET 給變量定名。1【例 3.6】建立系統(tǒng)G(s) 模型,且輸入名為 Threst,輸出名為 Velocity。s10用 MATLAB 編寫程序如下% MATLAB PROGRAM 3-6sys = tf ( l1 10 );set (sys, inputName, Threst, outputName, Velocity );sys運(yùn)行結(jié)果:Transfer function form input Thrust to

17、 output Velocity:1s103.5 系統(tǒng)模型的連接一個(gè)系統(tǒng)是由許多環(huán)節(jié)或子系統(tǒng)按一定方式連接起來(lái)組合而成,它們之間連接方式有串聯(lián)、并聯(lián)、反饋、附加等。MATLAB 提供了各類模型連接函數(shù)。473.5.1 模型串聯(lián)函數(shù) SERIES 用于兩個(gè)線性模型串聯(lián),調(diào)用格式為sys = series ( sys1, sys2 )圖 3.1 是一個(gè)單輸入、單輸出(SISO)串聯(lián)模型,sys1,sys2 和 sys 的關(guān)系如圖示。該函數(shù)的執(zhí)行結(jié)果等價(jià)于 sys = sysl sys2。*對(duì)于多輸入多輸出(MIMO)系統(tǒng),函數(shù) SERIES 的調(diào)用格式為sys = series ( sys1, s

18、ys2, outputs1, inputs2 )函數(shù)執(zhí)行系統(tǒng) sysl 和系統(tǒng) sys2 串聯(lián)時(shí),將系統(tǒng) sysl 的輸出端 1 和系統(tǒng) 2 的輸入端 2 連接。如圖 3.2 所示。系統(tǒng)端口名稱可用函數(shù) SET 定名(見(jiàn) 3.4 圖 3.1 SISO 模型串聯(lián)圖 3.2 MIMO 模型串聯(lián)3.5.2 模型并聯(lián)函數(shù) PARALLEL 用于兩個(gè)模型并聯(lián),調(diào)用格式為sys = parallel ( sys1, sys2 )其中,sysl, sys2 和 sys 關(guān)系如圖 3.3 所示。該函數(shù)執(zhí)行結(jié)果等價(jià)于 sys = sysl + sys2。對(duì)于 MIMO 系統(tǒng),函數(shù) PARALLEL 的調(diào)用格式為

19、sys = parallel (sysl, sys2, IN1, IN2, OUT1, OUT2)函數(shù)執(zhí)行系統(tǒng) sys1 和 sys2 并聯(lián)時(shí),將 sys1 的輸入端 IN1 和 sys2 的輸入端IN2 連接,sys1 的輸出端 OUT1 和 sys2 的輸出端 OUT2 連接起來(lái),如圖 3.4 所示。48圖 3.3 SISO 模型并聯(lián)圖 3.4 MIMO 模型并聯(lián)3.5.3 反饋連接函數(shù) FEEDBACK 用于模型的反饋連接,調(diào)用格式為sys = feedback ( sys, sys2, sign )其中,sys1,sys2 和 sys 如圖 3.5 所示,當(dāng)采用負(fù)反饋時(shí),sign 可忽

20、略;當(dāng)采用正反饋時(shí),sign = +1。sys = feedback (sys1, sys2, FEEDOUT, sign )函數(shù)執(zhí)行反饋連接時(shí),將 sys2 輸出端 FEEDOUT 反饋直接至 sys1 的輸入端FEEDIN,如圖 3.6 所示。圖 3.5 系統(tǒng)反饋連接圖 3.6 MIMO 系統(tǒng)反饋連接2s 5s1s(s2)s102【例 3.7】已知兩個(gè)系統(tǒng)分別為G(s) , H(s) s 2s32Velocity(s)G(s)輸入名:Torgue,輸出名:Velocity,求:。Torgue(s) 1G(s)H(s)用 MATLAB 編寫程序如下:% MATLAB PROGRAM 3-74

21、9G = tf ( 2 5 1 , 1 2 3 , inputname, Torgue, outputname, Velocity ) ;H = zpk ( 0 2 , 10 , 1 ) ;Cloop = feedback ( G , H )運(yùn)行結(jié)果:cloop =Zero/pole/gain from input Torgue to output Velocity:(s10)(s2.28)(s0.2192)(s20.4472s2.014)(s24.553s7.449)3.5.4 系統(tǒng)擴(kuò)展系統(tǒng)擴(kuò)展就是把兩個(gè)或多個(gè)子系統(tǒng)組合成一個(gè)系統(tǒng)組。MATLAB 提供系統(tǒng)擴(kuò)展的函數(shù) APPEND,調(diào)用格式為

22、sys = append ( sys1, sys2, )其中,sys1,sys2,和 sys 如圖 3.7 所示。圖 3.7 系統(tǒng)擴(kuò)展若 sys1,sys2,是用傳遞函數(shù)形式描述,則sys10sys2sys 0sys3若 sys1 和 sys2 用狀態(tài)空間形式描述,則 sys 為50 A 0 x B 0 u x11111 x0 Ax0 B u 22222yC 0 xD 0u 11111 y0 Cx0 D u 222223.6 模型降階在系統(tǒng)的研究中,模型降階技術(shù)有很重要的作用,其目的是使高階系統(tǒng)用一個(gè)低階的模型近似,這樣高階系統(tǒng)可按低階系統(tǒng)處理,為分析設(shè)計(jì)高階系統(tǒng)帶來(lái)方便。模型降階技術(shù)是系統(tǒng)分

23、析、設(shè)計(jì)和仿真中不可缺少的一環(huán),其基本思想是使原始系統(tǒng)的系數(shù)矩陣的階次降低,并保留原系統(tǒng)的主導(dǎo)特征值和一些重要的狀態(tài)。在 MATLAB 控制系統(tǒng)工具箱中提供了基于平衡實(shí)現(xiàn)降階函數(shù) BALREAL 和MODRED。函數(shù) BALREAL 計(jì)算可控及可觀測(cè)的 Gram 矩陣,并對(duì)原系統(tǒng)進(jìn)行等價(jià)變換,將原系統(tǒng)分成兩部分,其中一部分包含原系統(tǒng)矩陣較大奇異值,而另一部分包含較小奇異值,平衡實(shí)現(xiàn)系統(tǒng)完全與原系統(tǒng)等價(jià),如下式所示: x t)AAAAxBB u1 b.11 1b.1b.2x t)x 22x (3.5C C C1 xb.2 2bb.1)如果截取對(duì)應(yīng)于小奇異值的子系統(tǒng),則降階模型為z A z B u , C z u(3.61b.11 1b.1b.1 1)在 MATLAB 中,函數(shù) BALREAL 的調(diào)用格式為51sysb = balreal ( sys ) sysh, g, T, Ti = balreal ( sys )其中,sys 為原系統(tǒng);sysb 為平衡實(shí)現(xiàn)系統(tǒng),式(3.8)與原系統(tǒng)等價(jià);g

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論