《控制工程基礎(chǔ)》第十一章-Matlab軟件工具在控制系統(tǒng)分析和綜合中的應(yīng)用課件_第1頁(yè)
《控制工程基礎(chǔ)》第十一章-Matlab軟件工具在控制系統(tǒng)分析和綜合中的應(yīng)用課件_第2頁(yè)
《控制工程基礎(chǔ)》第十一章-Matlab軟件工具在控制系統(tǒng)分析和綜合中的應(yīng)用課件_第3頁(yè)
《控制工程基礎(chǔ)》第十一章-Matlab軟件工具在控制系統(tǒng)分析和綜合中的應(yīng)用課件_第4頁(yè)
《控制工程基礎(chǔ)》第十一章-Matlab軟件工具在控制系統(tǒng)分析和綜合中的應(yīng)用課件_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第十一章 Matlab軟件工具在控制系統(tǒng)分析和綜合中的應(yīng)用Matlab基本特點(diǎn)控制系統(tǒng)在Matlab中的描述進(jìn)行部分分式展開控制系統(tǒng)的時(shí)間響應(yīng)分析控制系統(tǒng)的頻域響應(yīng)分析控制系統(tǒng)的根軌跡圖系統(tǒng)穩(wěn)定性分析Simulink仿真工具1、matlab基本特點(diǎn)Matlab簡(jiǎn)介:1980年前后,美國(guó)moler博士構(gòu)思并開發(fā);最初的matlab版本是用fortran語言編寫,現(xiàn)在的版本用c語言改寫;1992年推出了具有劃時(shí)代意義的matlab 4.0版本;并于1993年推出了其windows平臺(tái)下的微機(jī)版,現(xiàn)在比較新的版本是6.5版Matlab語言特點(diǎn):Matlab以復(fù)數(shù)矩陣為最基本的運(yùn)算單元,既可以對(duì)它整體

2、地進(jìn)行處理,也可以對(duì)它的某個(gè)或某些元素進(jìn)行單獨(dú)地處理。在matlab中,數(shù)據(jù)的存儲(chǔ)/輸入/輸出都是以矩陣為基礎(chǔ)的,矩陣和其它變量不需要預(yù)先定義。matlab語言最基本的賦值語句結(jié)構(gòu)為 變量名列表=表達(dá)式等號(hào)右邊的表達(dá)式可以由分號(hào)結(jié)束,也可以由逗號(hào)或換行結(jié)束,但它們的含義是不同的。如果用分號(hào)結(jié)束,則左邊的變量結(jié)果將不在屏幕上顯示出來,否則將把左邊返回矩陣的內(nèi)容全部顯示出來。如 A=1,0,1;1,0,0;2,1,0; B=1,0,2;2,1,1;1,0,1B = 1 0 2 2 1 1 1 0 1在matlab下,矩陣A和矩陣B的乘積(假定其中A,B矩陣是可乘的)可以簡(jiǎn)單地由運(yùn)算C=A*B求出

3、C=A*BC = 2 0 3 1 0 2 4 1 5而D=A.*B稱點(diǎn)乘積運(yùn)算,即表示A和B矩陣的相應(yīng)元素之間直接進(jìn)行乘法運(yùn)算,然后將結(jié)果賦給D矩陣,點(diǎn)乘積運(yùn)算要求A和B矩陣的維數(shù)相同。 D=A.*BD= 1 0 2 2 0 0 2 0 0 Matlab下提供了兩種文件格式: m文件, matlab函數(shù)M文件是普通的ascii碼構(gòu)成的文件,在這樣的文件中只有由matlab語言所支持的語句,類似于dos下的批處理文件,它的執(zhí)行方式很簡(jiǎn)單,用戶只需在matlab的提示符下鍵入該m文件的文件名,這樣matlab就會(huì)自動(dòng)執(zhí)行該m文件中的各條語句。它采用文本方式,編程效率高,可讀性很強(qiáng)。Matlab函數(shù)

4、是最常用的特殊m文件,該函數(shù)是由function語句引導(dǎo),其基本格式如下 Function 返回變量列表=函數(shù)名(輸入量列表) 注釋說明語句段 函數(shù)體語句調(diào)用時(shí)在matlab的提示符下鍵入函數(shù)名,并包括輸入變量。類似于c語言的子程序調(diào)用。如Function plot_sin(xmin,xmax)X=xmin:min(0.01,(xmax-xmin)/100):xmax;Plot(x,sin(x);% This is a demo 2、控制系統(tǒng)在matlab中的描述 要分析系統(tǒng),首先需要能夠描述這個(gè)系統(tǒng)。例如用傳遞函數(shù)的形式描述系統(tǒng)在matlab中,用num=b1,b2,bm,bm1和den=a

5、1,a2,an,an1分別表示分子和分母多項(xiàng)式系數(shù),然后利用下面的語句就可以表示這個(gè)系統(tǒng) sys=tf(num,den)其中tf()代表傳遞函數(shù)的形式描述系統(tǒng),還可以用零極點(diǎn)形式來描述,語句為 sys1=zpk(sys) 而且傳遞函數(shù)形式和零極點(diǎn)形式之間可以相互轉(zhuǎn)化,語句為 z,p,k = tf2zp(num,den) num,den = zp2tf(z,p,k)當(dāng)傳遞函數(shù)復(fù)雜時(shí),應(yīng)用多項(xiàng)式乘法函數(shù)conv()等實(shí)現(xiàn)。例如 den1=1,2,2 den2=2,3,3,2 den=conv(den1,den2)3、進(jìn)行部分分式展開 對(duì)于下列傳遞函數(shù)num和den分別表示傳遞函數(shù)的分子和分母的系數(shù)

6、,即 numbo,bl,bn den1,al.,an命令 r,p,kresidue(num,den)將求出傳遞函數(shù)的部分分式展開式中的留數(shù)、極點(diǎn)和余項(xiàng),即得到 例: 對(duì)于下列系統(tǒng)傳遞函數(shù)分子分母表示為 num=0,1,3 den=1,3,2采用命令r,p,k=residue(num,den)得到 r,p,kresidue(num,den)r20000 10000p100002.0000k即 反之,利用下列命令 num,den=residue(r,p,k)可以將部分分式展開式返回到傳遞函數(shù)多項(xiàng)式之比的形式,即得到 num,denresidue(r,p,k)num0.0000 1.0000 3.0

7、000den=1.0000 3.0000 2.0000當(dāng)包含m重極點(diǎn)時(shí),部分分式展開式將包括下列m項(xiàng):例 對(duì)于下列系統(tǒng)傳遞函數(shù)分子分母表示為 num=0,1,2,3 den=1,3,3,1采用命令r,p,k=residue(num,den)得到num0 1 2 3;den1 3 3 1;r,p,kresidue(num,den)r1.00000.00002.0000p1.00001.0000l.0000k即4、線性系統(tǒng)的時(shí)間響應(yīng)分析Matlab的Control工具箱提供了很多線性系統(tǒng)在特定輸入下仿真的函數(shù),例如連續(xù)時(shí)間系統(tǒng)在階躍輸入激勵(lì)下的仿真函數(shù)step(),脈沖激勵(lì)下的仿真函數(shù)impuls

8、e()及任意輸入激勵(lì)下的仿真函數(shù)lsim()等,其中階躍響應(yīng)函數(shù)step()的調(diào)用格式y(tǒng),x=step(sys,t)或y,x=step(sys)其中sys可以由tf()或zpk()函數(shù)得到,t為選定的仿真時(shí)間向量,如果不加t,仿真時(shí)間范圍自動(dòng)選擇。此函數(shù)只返回仿真數(shù)據(jù)而不在屏幕上畫仿真圖形,返回值y為系統(tǒng)在各個(gè)仿真時(shí)刻的輸出所組成的矩陣,而x為自動(dòng)選擇的狀態(tài)變量的時(shí)間響應(yīng)數(shù)據(jù)。如果用戶對(duì)具體的響應(yīng)數(shù)值不感興趣,而只想繪制出系統(tǒng)的階躍響應(yīng)曲線,則可以由如下的格式調(diào)用step(sys,t) 或step(sys)求取脈沖響應(yīng)的函數(shù)impulse()和step()函數(shù)的調(diào)用格式完全一致,而任意輸入下的

9、仿真函數(shù)lsim()的調(diào)用格式稍有不同,因?yàn)樵诖撕瘮?shù)的調(diào)用時(shí)還應(yīng)該給出一個(gè)輸入表向量,該函數(shù)的調(diào)用格式為 y,x=lsim(sys,u,t)式中,u為給定輸入構(gòu)成的列向量,它的元素個(gè)數(shù)應(yīng)該和t的個(gè)數(shù)是一致的。當(dāng)然該函數(shù)若調(diào)用時(shí)不返回參數(shù),也可以直接繪制出響應(yīng)曲線圖形。例如 sys=tf(num,den) t = 0:0.01:5; u = sin(t); lsim(sys,u,t) 為單輸入模型sys對(duì)u(t)=sin(t)在5秒之內(nèi)的輸入響應(yīng)仿真。MATLAB還提供了離散時(shí)間系統(tǒng)的仿真函數(shù),包括階躍響應(yīng)函數(shù)dstep(),脈沖響應(yīng)函數(shù)dimpulse()和任意輸入響應(yīng)函數(shù)dlsim()等,它

10、們的調(diào)用方式和連續(xù)系統(tǒng)的不完全一致,讀者可以參閱MATLAB的幫助,如在MATLAB的提示符下鍵入help dstep來了解它們的調(diào)用方式 時(shí)域分析常用函數(shù)如下: step - 階躍響應(yīng)impulse - 脈沖響應(yīng)lsim - 對(duì)指定輸入的連續(xù)輸出gensig - 對(duì)LSIM產(chǎn)生輸入信號(hào)stepfun - 產(chǎn)生單位階躍輸入例 對(duì)于下列系統(tǒng)傳遞函數(shù)下列MATLAB Programl1.1將給出該系統(tǒng)的單位階躍響應(yīng)曲線。該單位階躍響應(yīng)曲線如圖1所示。-MATLAB Programl1.1-num=0,0,50;den=25,2,1;step(num,den)gridtitle(Unit-Step

11、Response of G(s)=50/(25s2+2s+1)例 考慮下列系統(tǒng)試求該系統(tǒng)的單位階躍響應(yīng)曲線。 雖然用MATLAB求該系統(tǒng)的單位階躍響應(yīng)曲線時(shí),不需要求它的傳遞函數(shù)表達(dá)式,這里導(dǎo)出這種表達(dá)式,以便作為參考。 對(duì)于給定的系統(tǒng),傳遞矩陣G(s)為 該系統(tǒng)包含兩個(gè)輸入量和兩個(gè)輸出量,根據(jù)考慮不同的輸入信號(hào)和輸出信號(hào),可以定義4個(gè)傳遞函數(shù)。當(dāng)考慮信號(hào)u1為輸入量時(shí),我們假設(shè)u2為零,反之亦然。這4個(gè)傳遞函數(shù)為利用下列命令:step(A,B,C,D)可以畫出4個(gè)單獨(dú)的階躍響應(yīng)曲線,程序如下:A=-1 -1;6.5 0; B=1 1;1 0; C=1 0;0 1; D=0 0;0 0;ste

12、p(A,B,C,D) 例 對(duì)于下列系統(tǒng)傳遞函數(shù)下列MATLAB Programl1.2將給出該系統(tǒng)的單位脈沖響應(yīng)曲線。該單位脈沖響應(yīng)曲線如圖2所示。-MATLAB Programl1.2- num=0,0,50; den=25,2,1; impulse(num,den) gridtitle(Unit-Impulse Response of G(s)=50/(25s2+2s+1) 在MATLAB中沒有斜坡響應(yīng)命令,可利用階躍響應(yīng)命令求斜坡響應(yīng),先用s除G(s),再利用階躍響應(yīng)命令。例如,考慮下列閉環(huán)系統(tǒng):對(duì)于單位斜坡輸人量下列MATLAB Programl1.3給出該系統(tǒng)單位斜坡響應(yīng)曲線。該單位

13、斜坡響應(yīng)曲線如圖3所示。-MATLAB Programl1.3-num=0,0,0,50;den=25,2,1,0;t = 0:0.01:100;step(num,den,t)gridtitle(Unit-Step ramp Response of G(s)=50/(25s2+2s+1)5、控制系統(tǒng)的頻域響應(yīng)分析已知系統(tǒng)的傳遞函數(shù)模型如第2節(jié)所示,則該系統(tǒng)的頻率響應(yīng)為可以由下面的語句來實(shí)現(xiàn),如果有一個(gè)頻率向量w,則Gw=polyval(num, sqrt(-1)*w)./polyval(den,sqrt(-1)*w);其中num和den分別為系統(tǒng)的分子分母多項(xiàng)式系數(shù)向量。頻率響應(yīng)曲線繪制MAT

14、LAB提供了多種求取并繪制系統(tǒng)頻率響應(yīng)曲線的函數(shù),如Bode圖繪制函數(shù)bode(),Nyquist曲線繪制函數(shù)nyquist()等,其中bode()函數(shù)的調(diào)用格式為m,p=bode(num,den,w)這里,num,den和前面的敘述一樣,w為頻率點(diǎn)構(gòu)成的向量,該向量最好由logspace()函數(shù)構(gòu)成。m,p分別代表Bode響應(yīng)的幅值向量和相位向量。如果用戶只想繪制出系統(tǒng)的Bode圖,而對(duì)獲得幅值和相位的具體數(shù)值并不感興趣,則可以由以下更簡(jiǎn)潔的格式調(diào)用bode()函數(shù)bode(num,den,w)或更簡(jiǎn)潔地 bode(num,den)這時(shí)該函數(shù)會(huì)自動(dòng)地根據(jù)模型的變化情況選擇一個(gè)比較合適的頻率范

15、圍。Nyquist曲線繪制函數(shù)nyquist()類似于bode()函數(shù),可以利用help nyquist來了解它的調(diào)用方法。在分析系統(tǒng)性能的時(shí)候經(jīng)常涉及到系統(tǒng)的幅值裕量與相位裕量的問題,使用Control工具箱提供的margin()函數(shù),可以直接求出系統(tǒng)的幅值裕量與相位裕量,該函數(shù)的調(diào)用格式為Gm,Pm,wcg,wcp=margin(num,den)可以看出,該函數(shù)能直接由系統(tǒng)的傳遞函數(shù)來求取系統(tǒng)的幅值裕量Gm和相位裕度裕量Pm,并求出幅值裕量和相位裕量處相應(yīng)的頻率值wcg和wcp。常用頻域分析函數(shù)如下: bode - 頻率響應(yīng)伯德圖 nyquist - 頻率響應(yīng)乃奎斯特圖 nichols -

16、 頻率響應(yīng)尼柯爾斯圖 freqresp - 求取頻率響應(yīng)數(shù)據(jù) margin - 幅值裕量與相位裕量 pzmap - 零極點(diǎn)圖使用時(shí)可以利用他們的幫助,如help bode。另外,命令ltiview可以畫時(shí)域響應(yīng)和頻域響應(yīng)圖,利用help ltiview查看使用說明。例 對(duì)于下列系統(tǒng)傳遞函數(shù)下列MATLAB Programl1.4將給出該系統(tǒng)對(duì)應(yīng)的伯德圖。其伯德圖如圖4所示。 -MATLAB Programl1.4- num=0,0,50; den=25,2,1; bode(num,den) grid title(Bode Diagram of G(s)=50/(25s2+2s+1)如果希望從0

17、.01弧度秒到1000弧度/秒畫伯德圖,可輸入下列命令: w=logspace(-2,3,100) bode(num,den,w)該命令在0.01弧度秒和100弧度秒之間產(chǎn)生100個(gè)在對(duì)數(shù)刻度上等距離的點(diǎn)例 對(duì)于下列系統(tǒng)傳遞函數(shù) 下列MATLAB Programl1.5將給出該系統(tǒng)對(duì)應(yīng)的伯德圖。其伯德圖如圖5所示。-MATLAB Programl1.5-num=10,30;den1=1,2,0;den2=1,1,2;den=conv(den1,den2);w=logspace(-2,3,100);bode(num,den,w)gridtitle(Bode Diagram of G(s)=10(

18、s+3)/s(s+2)(s2+s+2)例 對(duì)于下列系統(tǒng)傳遞函數(shù) 下列MATLAB Programl1.6將給出該系統(tǒng)對(duì)應(yīng)的乃奎斯圖。其乃奎斯特圖如圖6所示。-MATLAB Programl1.6- num=0,0,50; den=25,2,1,; nyquist(num,den) title(Nyquist Plot of G(s)=50/(25s2+2s+1)例 考慮由下列方程定義的系統(tǒng):該系統(tǒng)包含兩個(gè)輸入量和兩個(gè)輸出量。這里存在4種正弦輸出-輸入關(guān)系:Y1(j)Ul(j)、Y2(j)Ul(j)、Y1(j)U2(j)和Y2(j)U2(j)。試畫出該系統(tǒng)的奈魁斯特圖。 MATLAB Progr

19、am 10A=-1 -1;6.5 0;B=1 1;1 0;C=1 0;0 1;D=0 0;0 0; nyquist(A,B,C,D)6、控制系統(tǒng)的根軌跡圖 通常采用下列MATLAB命令畫根軌跡 rlocus(num,den)利用該命令,可以在屏幕上得到畫出的根軌跡圖。增益向量K自動(dòng)被確定。命令rlocus既適用于連續(xù)系統(tǒng),也適用于離散時(shí)間系統(tǒng)。對(duì)于定義在狀態(tài)空間內(nèi)的系統(tǒng),其命令為 rlocus(A,B,C,D) MATLAB在繪圖命令中還包含自動(dòng)軸定標(biāo)功能。例 對(duì)于一單位反饋控制系統(tǒng),其開環(huán)傳遞函數(shù)為 下列MATLAB Programl1.7將給出該系統(tǒng)對(duì)應(yīng)的根軌跡圖。其根軌跡圖如圖7所示。-

20、 MATLAB Programl1.7-num=1,3;den1=1,2,0;den2=1,1,2;den=conv(den1,den2);rlocus(num,den)v=-10 10 -10 10;axis(v)gridtitle(Root-Locus Plot of G(s)=K(s+3)/s(s+2)(s2+s+2)7、系統(tǒng)穩(wěn)定性分析給定一個(gè)控制系統(tǒng),可利用MATLAB在它的時(shí)域、頻域圖形分析中看出系統(tǒng)的穩(wěn)定性,并可直接求出系統(tǒng)的相角裕量和幅值裕量。此外,我們還可通過求出特征根的分布更直接地判斷出系統(tǒng)穩(wěn)定性。如果閉環(huán)系統(tǒng)所有的特征根都為負(fù)實(shí)部則系統(tǒng)穩(wěn)定。例如,給出控制系統(tǒng)閉環(huán)傳遞函數(shù)為

21、 num=3,2,1,4,2num = 3 2 1 4 2 den=3,5,1,2,2,1den = 3 5 1 2 2 1 z,p=tf2zp(num,den)z = 0.4500 + 0.9870i 0.4500 - 0.9870i -1.0000 -0.5666 p = -1.6067 0.4103 + 0.6801i 0.4103 - 0.6801i -0.4403 + 0.3673i -0.4403 - 0.3673Ipzmap(num,den) ii=find(real(p)0)ii = 2 3 n1=length(ii)n1 = 2 if(n10), disp(System is unstable, with int2str(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論