matlab用于控制系統(tǒng)數(shù)字仿真_第1頁
matlab用于控制系統(tǒng)數(shù)字仿真_第2頁
matlab用于控制系統(tǒng)數(shù)字仿真_第3頁
matlab用于控制系統(tǒng)數(shù)字仿真_第4頁
matlab用于控制系統(tǒng)數(shù)字仿真_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、傳遞函數(shù)n >>num=6 12 6 10;den=1 2 3 1 1;n >>printsys(num,den)n 執(zhí)行結(jié)果為n num/den=多項式相除函數(shù)deconv()q,r=deconv(c,b)q=? 商多項式r=? 余多項式求多項式的微分多項式polyder(a)MATLAB 提供的多項式乘法運算函數(shù)conv( )c=conv(a,b)conv( )函數(shù)的調(diào)用是允許多級嵌套的例2-2 若給定系統(tǒng)的傳遞函數(shù)為解 則可以將其用下列MATLAB語句表示>>num=4*conv(1 2,1 6 6)>>den=conv(1 0,conv(

2、1 1,conv(1 1, conv(1 1,1 3 2 5)零極點增益形式MATLAB工具箱中的函數(shù) poly( ) 和roots( ) 可用來實現(xiàn)多項式和零極點間的轉(zhuǎn)換,例如在命令窗口中進(jìn)行如下操作可實現(xiàn)互相轉(zhuǎn)換。>>P=1 3 5 2;>>R=roots(P) R= -1.2267+1.4677i -1.2267-1.4677i -0.5466>>P1=poly(R) P1= 1.0000 3.0000 5.0000 2.0000狀態(tài)空間表達(dá)式例2-5>>A=0 0 1;-3/2 -2 -1/2;-3 0 -4;>>B=1 1;

3、-1 -1;-1 -3;C=1 0 0;0 1 0;>>D=zeros(2,2);狀態(tài)空間表達(dá)式到傳遞函數(shù)的轉(zhuǎn)換根據(jù)狀態(tài)空間表達(dá)式求取系統(tǒng)傳遞函數(shù)的函數(shù)ss2tf( ),num,den=ss2tf(A,B,C,D,iu).n 對于例2-5中給出的多變量系統(tǒng),可以由下面的命令分別對各個輸入信號求取傳遞函數(shù)向量,然后求出這個傳遞函數(shù)陣。 解 利用下列MATLAB語句>>num1,den1=ss2tf(A,B,C,D,1) num1= 0 1.0000 5.0000 6.0000 0 -1.0000 -5.0000 -6.0000 den1= 1 6 11 6>>

4、num2,den2=ss2tf(A,B,C,D,2) num2= 0 1.0000 3.0000 2.0000 0 -1.0000 -4.0000 -3.0000 den2= 1 6 11 6則可得系統(tǒng)的傳遞函數(shù)陣狀態(tài)空間形式到零極點形式的轉(zhuǎn)換MATLAB函數(shù)ss2zp( )的調(diào)用格式為 Z,P,K=ss2zp(A,B,C,D,iu) iu用來指定第n個輸入,當(dāng)只有一個輸入時可忽略傳遞函數(shù)到狀態(tài)空間表達(dá)式的轉(zhuǎn)換側(cè)狀態(tài)空間表達(dá)式可以寫成:傳遞函數(shù)形式到零極點形式的轉(zhuǎn)換 MATLAB函數(shù)tf2zp( )的調(diào)用格式為 Z,P,K=tf2zp(num,den)2.2.5 零極點形式到狀態(tài)空間表達(dá)式的轉(zhuǎn)

5、換 MATLAB函數(shù)zp2ss( )的調(diào)用格式為 A,B,C,D=zp2ss(Z,P,K)2.2.6 零極點形式到傳遞函數(shù)形式的轉(zhuǎn)換 MATLAB函數(shù)zp2tf( )的調(diào)用格式為 num,den=zp2tf(Z,P,K)串聯(lián)連接。MATLAB的控制系統(tǒng)工具箱中提供了系統(tǒng)的串聯(lián)連接處理函數(shù)series( ),它既可處理由狀態(tài)方程表示的系統(tǒng),也可處理由傳遞函數(shù)陣表示的單輸入多輸出系統(tǒng),其調(diào)用格式為a,b,c,d=series(a1,b1,c1,d1,a2,b2,c2,d2) 串聯(lián)連接兩個狀態(tài)空間系統(tǒng)。a,b,c,d=series(a1,b1,c1,d1,a2,b2,c2,d2,out1,in2)

6、out1和in2分別指定系統(tǒng)1的部分輸出和系統(tǒng)2的部分輸入進(jìn)行連接。num,den=series(num1,den1,num2,den2) 將串聯(lián)連接的傳遞函數(shù)進(jìn)行相乘。并聯(lián)連接。MATLAB的控制系統(tǒng)工具箱中提供了系統(tǒng)的并聯(lián)連接處理函數(shù)parallel( ),該函數(shù)的調(diào)用格式為并聯(lián):parallel格式:a,b,c,d=parallel(a1,b1,c1,d1,a2,b2,c2,d2) 并聯(lián)連接兩個狀態(tài)空間系統(tǒng)。a,b,c,d=parallel(a1,b1,c1,d1,a2,b2,c2,d2,inp1,inp2,out1,out2) inp1和inp2分別指定兩系統(tǒng)中要連接在一起的輸入端編號

7、,從u1,u2,un依次編號為1,2,n; out1和out2分別指定要作相加的輸出端編號,編號方式與輸入類似。inp1和inp2既可以是標(biāo)量也可以是向量。out1和out2用法與之相同。如inp1=1,inp2=3表示系統(tǒng)1的第一個輸入端與系統(tǒng)2的第三個輸入端相連接。 若inp1=1 3,inp2=2 1則表示系統(tǒng)1的第一個輸入與系統(tǒng)2的第二個輸入連接,以及系統(tǒng)1的第三個輸入與系統(tǒng)2的第一個輸入連接。num,den=parallel(num1,den1,num2,den2) 將并聯(lián)連接的傳遞函數(shù)進(jìn)行相加。反饋連接。 MATLAB 的控制系統(tǒng)工具箱中提供了系統(tǒng)反饋連接處理函數(shù) feedback

8、( ), 其調(diào)用格式為a,b,c,d=feedback(a1,b1,c1,d1,a2,b2,c2,d2) 將兩個系統(tǒng)按反饋方式連接,一般而言,系統(tǒng)1為對象,系統(tǒng)2為反饋控制器。a,b,c,d=feedback(a1,b1,c1,d1,a2,b2,c2,d2,sign) 系統(tǒng)1的所有輸出連接到系統(tǒng)2的輸入,系統(tǒng)2的所有輸出連接到系統(tǒng)1的輸入,sign用來指示系統(tǒng)2輸出到系統(tǒng)1輸入的連接符號,sign缺省時,默認(rèn)為負(fù),即sign= -1。總系統(tǒng)的輸入/輸出數(shù)等同于系統(tǒng)1。a,b,c,d=feedback(a1,b1,c1,d1,a2,b2,c2,d2,inp1,out1) 部分反饋連接,將系統(tǒng)1的

9、指定輸出out1連接到系統(tǒng)2的輸入,系統(tǒng)2的輸出連接到系統(tǒng)1的指定輸入inp1,以此構(gòu)成 閉環(huán)系統(tǒng)。num,den=feedback(num1,den1,num2,den2,sign) 可以得到類似的連接,只是子系統(tǒng)和閉環(huán)系統(tǒng)均以傳遞函數(shù)的形式表示。sign的含義與前述相同。sign為反饋極性,對于正反饋sign取1 ,對負(fù)反饋取-1或缺省MATLAB提供了更簡單的處理函數(shù)cloop( ),其調(diào)用格式為 A,B,C,D=cloop(A1,B1,C1,D1,sign)和 num,den=cloop(num1,den1,sign) A,B,C,D=cloop(A1,B1,C1,D1,outputs

10、,inputs)其中 第三式表示將指定的輸出outputs反饋到指定的輸入inputs, 以此構(gòu)成閉環(huán)系統(tǒng), outputs指定反饋的輸出序號,inputs指定輸入反饋序號。閉環(huán):cloop(單位反饋)格式:ac,bc,cc,dc=cloop(a,b,c,d,sign) 通過將所有的輸出反饋到輸入,從而產(chǎn)生閉環(huán)系統(tǒng)的狀態(tài)空間模型。當(dāng)sign=1時采用正反饋;當(dāng)sign= -1時采用負(fù)反饋;sign缺省時,默認(rèn)為負(fù)反饋。ac,bc,cc,dc=cloop(a,b,c,d,outputs,inputs) 表示將指定的輸出outputs反饋到指定的輸入inputs,以此構(gòu)成閉環(huán)系統(tǒng)的狀態(tài)空間模型。一

11、般為正反饋,形成負(fù)反饋時應(yīng)在inputs中采用負(fù)值。numc,denc=cloop(num,den,sign) 表示由傳遞函數(shù)表示的開環(huán)系統(tǒng)構(gòu)成閉環(huán)系統(tǒng),sign意義與上述相同。 典型系統(tǒng)的生成建立二階系統(tǒng)模型可利用 MATLAB所提供的函數(shù) ord2( )來建立,其調(diào)用格式為 num,den=ord2(n,)或 A,B,C,D=ord2(n,)函 數(shù) 名功 能damp( )求系統(tǒng)的阻尼系數(shù)和自然頻率ddamp( )求離散系統(tǒng)的阻尼系數(shù)和自然頻率dcgain( )求連續(xù)控制系統(tǒng)的增益ddcgain( )求離散控制系統(tǒng)的增益tzero( )求傳遞零點 printsys( )顯示或打印系統(tǒng)數(shù)據(jù)分析

12、(1)繪制函數(shù)圖形:fplot()(2)求極值:fmin,fmins(3)求零點:尋找一維函數(shù)的過零點fzero()(4)頻譜分析(fft):y=FFT(x);unwrap();abs;angle畫出幅頻和相頻曲線部分分式展開,控制系統(tǒng)常用到并聯(lián)系統(tǒng),這時就要對系統(tǒng)函數(shù)進(jìn)行分解,使其表現(xiàn)為一些基本控制單元的和的形式。函數(shù)r,p,k=residue(b,a)對兩個多項式的比進(jìn)行部分展開,以及把傳函分解為微分單元的形式。向量b和a是按s的降冪排列的多項式系數(shù)。部分分式展開后,余數(shù)返回到向量r,極點返回到列向量p,常數(shù)項返回到k。b,a=residue(r,p,k)可以將部分分式轉(zhuǎn)化為多項式比p(s

13、)/q(s)。零極點增益模型:num=1,11,30,0;den=1,9,45,87,50; z,p,k=tf2zp(num,den)z= p= k= 0 -3.0000+4.0000i 1 -6 -3.0000-4.0000i -5 -2.0000 -1.0000模型的轉(zhuǎn)換 在一些場合下需要用到某種模型,而在另外一些場合下可能需要另外的模型,這就需要進(jìn)行模型的轉(zhuǎn)換。 模型轉(zhuǎn)換的函數(shù)包括:residue:傳遞函數(shù)模型與部分分式模型互換ss2tf: 狀態(tài)空間模型轉(zhuǎn)換為傳遞函數(shù)模型ss2zp: 狀態(tài)空間模型轉(zhuǎn)換為零極點增益模型tf2ss: 傳遞函數(shù)模型轉(zhuǎn)換為狀態(tài)空間模型tf2zp: 傳遞函數(shù)模型轉(zhuǎn)

14、換為零極點增益模型zp2ss: 零極點增益模型轉(zhuǎn)換為狀態(tài)空間模型zp2tf: 零極點增益模型轉(zhuǎn)換為傳遞函數(shù)模型linmod: 求線性系統(tǒng)的狀態(tài)空間表達(dá)式,調(diào)用格式:a,b,c,d=linmod(model,x,u)Trim: 計算系統(tǒng)平衡點,算出穩(wěn)態(tài)是的輸入量和輸出量Rlocus: 計算穿越增益kmRlocfind: 計算貫穿頻率wcq y=step(num,den,t):其中num和den分別為系統(tǒng)傳遞函數(shù)描述中的分子和分母多項式系數(shù),t為選定的仿真時間向量,一般可以由t=0:step:end等步長地產(chǎn)生出來。該函數(shù)返回值y為系統(tǒng)在仿真時刻各個輸出所組成的矩陣。q y,x,t=step(nu

15、m,den):此時時間向量t由系統(tǒng)模型的特性自動生成, 狀態(tài)變量x返回為空矩陣。q y,x,t=step(A,B,C,D,iu):其中A,B,C,D為系統(tǒng)的狀態(tài)空間描述矩陣,iu用來指明輸入變量的序號。x為系統(tǒng)返回的狀態(tài)軌跡。q 如果對具體的響應(yīng)值不感興趣,而只想繪制系統(tǒng)的階躍響應(yīng)曲線,可調(diào)用以下的格式:step(num,den);step(num,den,t);step(A,B,C,D,iu,t);step(A,B,C,D,iu);q 線性系統(tǒng)的穩(wěn)態(tài)值可以通過函數(shù)dcgain()來求取,其調(diào)用格式為:dc=dcgain(num,den)或dc=dcgain(a,b,c,d)impulse()

16、函數(shù)求取脈沖激勵響應(yīng)的調(diào)用方法與step()函數(shù)基本一致。y=impulse(num,den,t);y,x,t=impulse(num,den);y,x,t=impulse(A,B,C,D,iu,t)impulse(num,den);impulse(num,den,t)impulse(A,B,C,D,iu);impulse(A,B,C,D,iu,t)q bode(a,b,c,d,iu):可得到從系統(tǒng)第iu個輸入到所有輸出的波特圖。q bode(num,den):可繪制出以連續(xù)時間多項式傳遞函數(shù)表示的系統(tǒng)的波特圖。MATLAB提供了函數(shù)nyquist()來繪制系統(tǒng)的極坐標(biāo)圖,其用法如下:q ny

17、quist(a,b,c,d):繪制出系統(tǒng)的一組Nyquist曲線,每條曲線相應(yīng)于連續(xù)狀態(tài)空間系統(tǒng)a,b,c,d的輸入/輸出組合對。其中頻率范圍由函數(shù)自動選取,而且在響應(yīng)快速變化的位置會自動采用更多取樣點。q nyquist(a,b,c,d,iu):可得到從系統(tǒng)第iu個輸入到所有輸出的極坐標(biāo)圖。q nyquist(num,den):可繪制出以連續(xù)時間多項式傳遞函數(shù)表示的系統(tǒng)的極坐標(biāo)圖。q nyquist(a,b,c,d,iu,w)或nyquist(num,den,w):可利用指定的角頻率矢量繪制出系統(tǒng)的極坐標(biāo)圖。q 當(dāng)不帶返回參數(shù)時,直接在屏幕上繪制出系統(tǒng)的極坐標(biāo)圖(圖上用箭頭表示w的變化方向,

18、負(fù)無窮到正無窮) 。當(dāng)帶輸出變量re,im,w引用函數(shù)時,可得到系統(tǒng)頻率特性函數(shù)的實部re和虛部im及角頻率點w矢量(為正的部分)。可以用plot(re,im)繪制出對應(yīng)w從負(fù)無窮到零變化的部分。margin:求幅值裕度和相角裕度及對應(yīng)的轉(zhuǎn)折頻率q margin(mag,phase,w):由bode指令得到的幅值mag(不是以dB為單位) 、相角phase及角頻率w矢量繪制出帶有裕量及相應(yīng)頻率顯示的bode圖。q margin(num,den) :可計算出連續(xù)系統(tǒng)傳遞函數(shù)表示的幅值裕度和相角裕度并繪制相應(yīng)波特圖。類似,margin(a,b,c,d)可以計算出連續(xù)狀態(tài)空間系統(tǒng)表示的幅值裕度和相角

19、裕度并繪制相應(yīng)波特圖。q gm,pm,wcg,wcp=margin(mag,phase,w):由幅值mag(不是以dB為單位) 、相角phase及角頻率w矢量計算出系統(tǒng)幅值裕度和相角裕度及相應(yīng)的相角交界頻率wcg、截止頻率wcp,而不直接繪出Bode圖曲線。Pade函數(shù)可以近似表示延時環(huán)節(jié)e(-st),它的調(diào)用格式為:(num,den)=pade(t,n),產(chǎn)生最佳逼近時延t秒的n階傳遞函數(shù)形式。(a,b,c,d)=pade(t,n),則產(chǎn)生的是n階SISO的狀態(tài)空間模型。MATLAB提供了函數(shù)pzmap()來繪制系統(tǒng)的零極點圖,其用法如下:q p,z=pzmap(a,b,c,d):返回狀態(tài)空

20、間描述系統(tǒng)的極點矢量和零點矢量,而不在屏幕上繪制出零極點圖。q p,z=pzmap(num,den):返回傳遞函數(shù)描述系統(tǒng)的極點矢量和零點矢量,而不在屏幕上繪制出零極點圖。q pzmap(a,b,c,d)或pzmap(num,den):不帶輸出參數(shù)項,則直接在s復(fù)平面上繪制出系統(tǒng)對應(yīng)的零極點位置,極點用×表示,零點用o表示。q pzmap(p,z):根據(jù)系統(tǒng)已知的零極點列向量或行向量直接在s復(fù)平面上繪制出對應(yīng)的零極點位置,極點用×表示,零點用o表示。MATLAB提供了函數(shù)pzmap()來繪制系統(tǒng)的零極點圖,其用法如下:q p,z=pzmap(a,b,c,d):返回狀態(tài)空間描

21、述系統(tǒng)的極點矢量和零點矢量,而不在屏幕上繪制出零極點圖。q p,z=pzmap(num,den):返回傳遞函數(shù)描述系統(tǒng)的極點矢量和零點矢量,而不在屏幕上繪制出零極點圖。q pzmap(a,b,c,d)或pzmap(num,den):不帶輸出參數(shù)項,則直接在s復(fù)平面上繪制出系統(tǒng)對應(yīng)的零極點位置,極點用×表示,零點用o表示。q pzmap(p,z):根據(jù)系統(tǒng)已知的零極點列向量或行向量直接在s復(fù)平面上繪制出對應(yīng)的零極點位置,極點用×表示,零點用o表示。MATLAB提供了函數(shù)rlocus()來繪制系統(tǒng)的根軌跡圖,其用法如下:q rlocus(a,b,c,d)或者rlocus(num,den):根據(jù)SISO開環(huán)系統(tǒng)的狀態(tài)空間描述模型和傳遞函數(shù)模型,直接在屏幕上繪制出系統(tǒng)的根軌跡圖。開環(huán)增益的值從零到無窮大變化。q rlocus(a,b,c,d,k)或rlocus(num,den,k): 通過指定開環(huán)增益k的變化范圍來繪制系統(tǒng)的根軌跡圖。q r=rlocus(num

溫馨提示

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

最新文檔

評論

0/150

提交評論