控制工程基礎控制系統(tǒng)的計算機仿真_第1頁
控制工程基礎控制系統(tǒng)的計算機仿真_第2頁
控制工程基礎控制系統(tǒng)的計算機仿真_第3頁
控制工程基礎控制系統(tǒng)的計算機仿真_第4頁
控制工程基礎控制系統(tǒng)的計算機仿真_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2023/12/31第七章控制系統(tǒng)的綜合與校正1控制工程根底第十章Matlab軟件工具在控制系統(tǒng)分析和綜合中的運用主講人:趙治國副教授2023/12/31第七章控制系統(tǒng)的綜合與校正2主要內(nèi)容Matlab根本特點控制系統(tǒng)在Matlab中的描畫進展部分分式展開控制系統(tǒng)的時間呼應分析控制系統(tǒng)的頻域呼應分析控制系統(tǒng)的根軌跡圖系統(tǒng)穩(wěn)定性分析Simulink仿真工具2023/12/31第七章控制系統(tǒng)的綜合與校正3Matlab根本特點(1)Matlab簡介:1980年前后,美國moler博士構思并開發(fā);最初的matlab版本是用fortran言語編寫,如今的版本用c言語改寫;1992年推出了具有劃時代意義的matlab4.0版本;并于1993年推出了其windows平臺下的微機版,如今比較新的版本是7.1版2023/12/31第七章控制系統(tǒng)的綜合與校正4Matlab根本特點(2)Matlab以復數(shù)矩陣為最根本的運算單元,既可以對它整體地進展處置,也可以對它的某個或某些元素進展單獨地處置。在Matlab中,數(shù)據(jù)的存儲/輸入/輸出都是以矩陣為根底的,矩陣和其它變量不需求預先定義。Matlab言語最根本的賦值語句構造為變量名列表=表達式2023/12/31第七章控制系統(tǒng)的綜合與校正5matlab根本特點(3)等號右邊的表達式可以由分號終了,也可以由逗號或換行終了,但它們的含義是不同的。假設用分號終了,那么左邊的變量結果將不在屏幕上顯示出來,否那么將把左邊前往矩陣的內(nèi)容全部顯示出來。如?A=[1,0,1;1,0,0;2,1,0];?B=[1,0,2;2,1,1;1,0,1]B=1022111012023/12/31第七章控制系統(tǒng)的綜合與校正6matlab根本特點(4)在Matlab下,矩陣A和矩陣B的乘積〔假定其中A,B矩陣是可乘的〕可以簡單地由運算C=A*B求出?C=A*BC=2031024152023/12/31第七章控制系統(tǒng)的綜合與校正7而D=A.*B稱點乘積運算,即表示A和B矩陣的相應元素之間直接進展乘法運算,然后將結果賦給D矩陣,點乘積運算要求A和B矩陣的維數(shù)一樣。?D=A.*BD=102200200matlab根本特點(5)Matlab下提供了兩種文件格式:m文件,matlab函數(shù)M文件是普通的ascii碼構成的文件,在這樣的文件中只需由matlab言語所支持的語句,類似于dos下的批處置文件,它的執(zhí)行方式很簡單,用戶只需在matlab的提示符>>下鍵入該m文件的文件名,這樣matlab就會自動執(zhí)行該m文件中的各條語句。它采用文本方式,編程效率高,可讀性很強。Matlab函數(shù)是最常用的特殊m文件,這樣的函數(shù)是由function語句引導,其根本格式如下Function前往變量列表=函數(shù)名〔輸入變量列表〕注釋闡明語句段函數(shù)體語句調用時在matlab的提示符下鍵入函數(shù)名,并包括輸入變量。類似于c言語的子程序調用。如Functionplot_sin(xmin,xmax)X=xmin:min(0.01,(xmax-xmin)/100):xmax;Plot(x,sin(x));%Thisisademo2023/12/31第七章控制系統(tǒng)的綜合與校正9控制系統(tǒng)在Matlab中的描畫要分析系統(tǒng),首先需求可以描畫這個系統(tǒng)。例如用傳送函數(shù)的方式描畫系統(tǒng)在matlab中,用num=[b1,b2,…,bm,bm1]和den=[a1,a2,…,an,an1]分別表示分子和分母多項式系數(shù),然后利用下面的語句就可以表示這個系統(tǒng)sys=tf(num,den)其中tf()代表傳送函數(shù)的方式描畫系統(tǒng),還可以用零極點方式來描述,語句為sys1=zpk(sys)而且傳送函數(shù)方式和零極點方式之間可以相互轉化,語句為 [z,p,k]=tf2zp(num,den)[num,den]=zp2tf(z,p,k)當傳送函數(shù)復雜時,運用多項式乘法函數(shù)conv()等實現(xiàn)。例如den1=[1,2,2]den2=[2,3,3,2]den=conv(den1,den2)2023/12/31第七章控制系統(tǒng)的綜合與校正11進展部分分式展開(1)對于以下傳送函數(shù)2023/12/31第七章控制系統(tǒng)的綜合與校正12num和den分別表示傳送函數(shù)的分子和分母的系數(shù),即num=[bo,bl,…,bn]den=[1,al.…,an]命令[r,p,k]=residue〔num,den〕將求出傳送函數(shù)的部分分式展開式中的留數(shù)、極點和余項,即得到

進展部分分式展開(2)例:對于以下系統(tǒng)傳送函數(shù)分子分母表示為num=[0,1,3]den=[1,3,2]采用命令[r,p,k]=residue〔num,den〕得到[r,p,k]=residue〔num,den〕r=2.0000-1.0000p=-1.0000-2.0000k=[]即反之,利用以下命令[num,den]=residue〔r,p,k〕可以將部分分式展開式前往到傳送函數(shù)多項式之比的形式,即得到[num,den]=residue〔r,p,k〕num=0.00001.00003.0000den=1.00003.00002.0000當包含m重極點時,部分分式展開式將包括以下m項:例對于以下系統(tǒng)傳送函數(shù)分子分母表示為num=[0,1,2,3]den=[1,3,3,1]采用命令[r,p,k]=residue〔num,den〕得到num=[0123];den=[1331];[r,p,k]=residue〔num,den〕r=1.00000.00002.0000p=-1.0000-1.0000-l.0000k=[]即2023/12/31第七章控制系統(tǒng)的綜合與校正17線性系統(tǒng)的時間呼應分析(1)Matlab的Control工具箱提供了很多線性系統(tǒng)在特定輸入下仿真的函數(shù),例如延續(xù)時間系統(tǒng)在階躍輸入鼓勵下的仿真函數(shù)step(),脈沖鼓勵下的仿真函數(shù)impulse()及恣意輸入鼓勵下的仿真函數(shù)lsim()等,其中階躍呼應函數(shù)step()的調用格式為[y,x]=step(sys,t)或[y,x]=step(sys)其中sys可以由tf()或zpk()函數(shù)得到,t為選定的仿真時間向量,假設不加t,仿真時間范圍自動選擇。此函數(shù)只前往仿真數(shù)據(jù)而不在屏幕上畫仿真圖形,前往值y為系統(tǒng)在各個仿真時辰的輸出所組成的矩陣,而x為自動選擇的形狀變量的時間呼應數(shù)據(jù)。假設用戶對詳細的呼應數(shù)值不感興趣,而只想繪制出系統(tǒng)的階躍呼應曲線,那么可以由如下的格式調用step(sys,t)或step(sys)2023/12/31第七章控制系統(tǒng)的綜合與校正18線性系統(tǒng)的時間呼應分析(2)求取脈沖呼應的函數(shù)impulse()和step()函數(shù)的調用格式完全一致,而恣意輸入下的仿真函數(shù)lsim()的調用格式稍有不同,由于在此函數(shù)的調用時還應該給出一個輸入表向量,該函數(shù)的調用格式為[y,x]=lsim(sys,u,t)式中,u為給定輸入構成的列向量,它的元素個數(shù)應該和t的個數(shù)是一致的。當然該函數(shù)假設調用時不前往參數(shù),也可以直接繪制出呼應曲線圖形。例如t=0:0.01:5;u=sin(t);lsim(sys,u,t)為單輸入模型sys對u(t)=sin(t)在5秒之內(nèi)的輸入呼應仿真。2023/12/31第七章控制系統(tǒng)的綜合與校正19線性系統(tǒng)的時間呼應分析(3)MATLAB還提供了離散時間系統(tǒng)的仿真函數(shù),包括階躍呼應函數(shù)dstep(),脈沖呼應函數(shù)dimpulse()和恣意輸入呼應函數(shù)dlsim()等,它們的調用方式和延續(xù)系統(tǒng)的不完全一致,讀者可以參閱MATLAB的協(xié)助,如在MATLAB的提示符>>下鍵入helpdstep來了解它們的調用方式。時域分析常用函數(shù)如下:step-階躍呼應impulse-脈沖呼應lsim-對指定輸入的延續(xù)輸出gensig-對LSIM產(chǎn)生輸入信號stepfun-產(chǎn)生單位階躍輸入例對于以下系統(tǒng)傳送函數(shù)以下MATLABPrograml1.1將給出該系統(tǒng)的單位階躍呼應曲線。該單位階躍呼應曲線如圖1所示。----MATLABPrograml1.1----num=[0,0,50];den=[25,2,1];step〔num,den〕gridtitle(‘Unit-StepResponseofG(s)=50/(25s^2+2s+1)’)例對于以下系統(tǒng)傳送函數(shù)以下MATLABPrograml1.2將給出該系統(tǒng)的單位脈沖呼應曲線。該單位脈沖呼應曲線如圖2所示。----MATLABPrograml1.2----num=[0,0,50];den=[25,2,1];impulse〔num,den〕gridtitle(‘Unit-ImpulseResponseofG(s)=50/(25s^2+2s+1)’)

在MATLAB中沒有斜坡呼應命令,可利用階躍呼應命令求斜坡呼應,先用s除G〔s〕,再利用階躍呼應命令。例如,思索以下閉環(huán)系統(tǒng):對于單位斜坡輸入量那么以下MATLABPrograml1.3將給出該系統(tǒng)的單位斜坡呼應曲線。該單位斜坡呼應曲線如圖3所示。----MATLABPrograml1.3----num=[0,0,0,50];den=[25,2,1,0];t=0:0.01:100;step〔num,den,t〕gridtitle(‘Unit-SteprampResponseofG(s)=50/(25s^2+2s+1)’)2023/12/31第七章控制系統(tǒng)的綜合與校正27控制系統(tǒng)的頻域呼應分析知系統(tǒng)的傳送函數(shù)模型如第2節(jié)所示,那么該系統(tǒng)的頻率呼應為可以由下面的語句來實現(xiàn),假設有一個頻率向量w,那么Gw=polyval(num,sqrt(-1)*w)./polyval(den,sqrt(-1)*w);其中num和den分別為系統(tǒng)的分子分母多項式系數(shù)向量。

頻率呼應曲線繪制MATLAB提供了多種求取并繪制系統(tǒng)頻率呼應曲線的函數(shù),如Bode圖繪制函數(shù)bode(),Nyquist曲線繪制函數(shù)等,其中bode()函數(shù)的調用格式為[m,p]=bode(num,den,w)這里,num,den和前面的表達一樣,w為頻率點構成的向量,該向量最好由logspace()函數(shù)構成。m,p分別代表Bode呼應的幅值向量和相位向量。假設用戶只想繪制出系統(tǒng)的Bode圖,而對獲得幅值和相位的詳細數(shù)值并不感興趣,那么可以由以下更簡約的格式調用bode()函數(shù)bode(num,den,w)或更簡約地bode(num,den)這時該函數(shù)會自動地根據(jù)模型的變化情況選擇一個比較適宜的頻率范圍。Nyquist曲線繪制函數(shù)nyquist()類似于bode()函數(shù),可以利用helpnyquist來了解它的調用方法。在分析系統(tǒng)性能的時候經(jīng)常涉及到系統(tǒng)的幅值裕量與相位裕量的問題,運用Control工具箱提供的margin()函數(shù)可以直接求出系統(tǒng)的幅值裕量與相位裕量,該函數(shù)的調用格式為[Gm,Pm,wcg,wcp]=margin(num,den)可以看出,該函數(shù)能直接由系統(tǒng)的傳送函數(shù)來求取系統(tǒng)的幅值裕量Gm和相位裕度裕量Pm,并求出幅值裕量和相位裕量處相應的頻率值wcg和wcp。常用頻域分析函數(shù)如下:bode-頻率呼應伯德圖nyquist-頻率呼應乃奎斯特圖nichols-頻率呼應尼柯爾斯圖freqresp-求取頻率呼應數(shù)據(jù)margin-幅值裕量與相位裕量pzmap-零極點圖運用時可以利用他們的協(xié)助,如helpbode。另外,命令ltiview可以畫時域呼應和頻域呼應圖,利用helpltiview查看運用闡明。例對于以下系統(tǒng)傳送函數(shù)以下MATLABPrograml1.4將給出該系統(tǒng)對應的伯德圖。其伯德圖如圖4所示。----MATLABPrograml1.4----num=[0,0,50];den=[25,2,1];bode〔num,den〕gridtitle(‘BodeDiagramofG(s)=50/(25s^2+2s+1)’)

假設希望從0.01弧度/秒到1000弧度/秒畫伯德圖,可輸入以下命令:w=logspace(-2,3,100)bode〔num,den,w〕該命令在0.01弧度/秒和100弧度/秒之間產(chǎn)生100個在對數(shù)刻度上等間隔的點例對于以下系統(tǒng)傳送函數(shù)

以下MATLABPrograml1.5將給出該系統(tǒng)對應的伯德圖。其伯德圖如圖5所示。----MATLABPrograml1.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('BodeDiagramofG(s)=10(s+3)/s(s+2)(s^2+s+2)')例對于以下系統(tǒng)傳送函數(shù)

以下MATLABPrograml1.6將給出該系統(tǒng)對應的乃奎斯圖。其乃奎斯特圖如圖6所示。----MATLABPrograml1.6----num=[0,0,50];den=[25,2,1,];nyquist(num,den)title('NyquistPlotofG(s)=50/(25s^2+2s+1)')2023/12/31第七章控制系統(tǒng)的綜合與校正38控制系統(tǒng)的根軌跡圖通常采用以下MATLAB命令畫根軌跡rlocus〔num,den〕利用該命令,可以在屏幕上得到畫出的根軌跡圖。增益向量K自動被確定。命令rlocus既適用于延續(xù)系統(tǒng),也適用于離散時間系統(tǒng)。對于定義在形狀空間內(nèi)的系統(tǒng),其命令為rlocus〔A,B,C,D〕MATLAB在繪圖命令中還包含自動軸定標功能。例對于一單位反響控制系統(tǒng),其開環(huán)傳送函數(shù)為

以下MATLABPrograml1.7將給出該系統(tǒng)對應的根軌跡圖。其根軌跡圖如圖7所示。---------MATLABPrograml1.7-----------num=[1,3];den1=[1,2,0];den2=[1,1,2];den=conv(den1,den2)rlocus(num,den)v=[-1010–1010];axis(v)gridtitle(‘Root-LocusPlotofG(s)=K(s+3)/s(s+2)(s^2+s+2)’)2023/12/31第七章控制系統(tǒng)的綜合與校正41系統(tǒng)穩(wěn)定性分析給定一個控制系統(tǒng),可利用MATLAB在它的時域、頻域圖形分析中看出系統(tǒng)的穩(wěn)定性,并可直接求出系統(tǒng)的相角裕量和幅值裕量。此外,我們還可經(jīng)過求出特征根的分布更直接地判別出系統(tǒng)穩(wěn)定性。假設閉環(huán)系統(tǒng)一切的特征根都為負實部那么系統(tǒng)穩(wěn)定。例如,給出控制系統(tǒng)閉環(huán)傳送函數(shù)為?num=[3,2,1,4,2]num=32142?den=[3,5,1,2,2,1]den=351221?[z,p]=tf2zp(num,den)z=0.4500+0.9870i0.4500-0.9870i-1.0000-0.5666p=-1.60670.4103+0.6801i0.4103-0.6801i-0.4403+0.3673i-0.4403-0.3673I?pzmap(num,den)?ii=find(real(p)>0)

溫馨提示

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

最新文檔

評論

0/150

提交評論