Matlab-控制工程基礎_第1頁
Matlab-控制工程基礎_第2頁
Matlab-控制工程基礎_第3頁
Matlab-控制工程基礎_第4頁
Matlab-控制工程基礎_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Matlab-控制工程基礎第一頁,共45頁。1、matlab基本特點Matlab簡介:1980年前后,美國moler博士構思并開發(fā);最初的matlab版本是用fortran語言編寫,現在的版本用c語言改寫;1992年推出了具有劃時代意義的matlab4.0版本;并于1993年推出了其windows平臺下的微機版,現在比較新的版本是6.1版第二頁,共45頁。Matlab語言特點:Matlab以復數矩陣為最基本的運算單元,既可以對它整體地進行處理,也可以對它的某個或某些元素進行單獨地處理。在matlab中,數據的存儲/輸入/輸出都是以矩陣為基礎的,矩陣和其它變量不需要預先定義。matlab語言最基本的賦值語句結構為變量名列表=表達式第三頁,共45頁。等號右邊的表達式可以由分號結束,也可以由逗號或換行結束,但它們的含義是不同的。如果用分號結束,則左邊的變量結果將不在屏幕上顯示出來,否則將把左邊返回矩陣的內容全部顯示出來。如?

A=[1,0,1;1,0,0;2,1,0];

?B=[1,0,2;2,1,1;1,0,1]B=102211101第四頁,共45頁。在matlab下,矩陣A和矩陣B的乘積(假定其中A,B矩陣是可乘的)可以簡單地由運算C=A*B求出?

C=A*BC=203102415第五頁,共45頁。而D=A.*B稱點乘積運算,即表示A和B矩陣的相應元素之間直接進行乘法運算,然后將結果賦給D矩陣,點乘積運算要求A和B矩陣的維數相同。?

D=A.*BD=102200200第六頁,共45頁。

Matlab下提供了兩種文件格式:m文件,matlab函數M文件是普通的ascii碼構成的文件,在這樣的文件中只有由matlab語言所支持的語句,類似于dos下的批處理文件,它的執(zhí)行方式很簡單,用戶只需在matlab的提示符>>下鍵入該m文件的文件名,這樣matlab就會自動執(zhí)行該m文件中的各條語句。它采用文本方式,編程效率高,可讀性很強。Matlab函數是最常用的特殊m文件,這樣的函數是由function語句引導,其基本格式如下

Function返回變量列表=函數名(輸入變量列表)注釋說明語句段函數體語句調用時在matlab的提示符下鍵入函數名,并包括輸入變量。類似于c語言的子程序調用。如Functionplot_sin(xmin,xmax)X=xmin:min(0.01,(xmax-xmin)/100):xmax;Plot(x,sin(x));%Thisisademo第七頁,共45頁。2、控制系統(tǒng)在matlab中的描述

要分析系統(tǒng),首先需要能夠描述這個系統(tǒng)。例如用傳遞函數的形式描述系統(tǒng)第八頁,共45頁。在matlab中,用num=[b1,b2,…,bm,bm1]和den=[a1,a2,…,an,an1]分別表示分子和分母多項式系數,然后利用下面的語句就可以表示這個系統(tǒng)

sys=tf(num,den)其中tf()代表傳遞函數的形式描述系統(tǒng),還可以用零極點形式來描述,語句為

sys1=zpk(sys)而且傳遞函數形式和零極點形式之間可以相互轉化,語句為

[z,p,k]=tf2zp(num,den)[num,den]=zp2tf(z,p,k)當傳遞函數復雜時,應用多項式乘法函數conv()等實現。例如

den1=[1,2,2]den2=[2,3,3,2]den=conv(den1,den2)

第九頁,共45頁。3、進行部分分式展開對于下列傳遞函數第十頁,共45頁。num和den分別表示傳遞函數的分子和分母的系數,即

num=[bo,bl,…,bn]den=[1,al.…,an]命令[r,p,k]=residue(num,den)將求出傳遞函數的部分分式展開式中的留數、極點和余項,即得到

第十一頁,共45頁。例:對于下列系統(tǒng)傳遞函數第十二頁,共45頁。分子分母表示為

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=[]即第十三頁,共45頁。反之,利用下列命令[num,den]=residue(r,p,k)可以將部分分式展開式返回到傳遞函數多項式之比的形式,即得到[num,den]=residue(r,p,k)num=0.00001.00003.0000den=1.00003.00002.0000第十四頁,共45頁。當包含m重極點時,部分分式展開式將包括下列m項:例對于下列系統(tǒng)傳遞函數分子分母表示為

num=[0,1,2,3]den=[1,3,3,1]采用命令[r,p,k]=residue(num,den)第十五頁,共45頁。得到num=[0123];den=[1331];[r,p,k]=residue(num,den)r=1.00000.00002.0000p=-1.0000-1.0000-l.0000k=[]即第十六頁,共45頁。4、線性系統(tǒng)的時間響應分析Matlab的Control工具箱提供了很多線性系統(tǒng)在特定輸入下仿真的函數,例如連續(xù)時間系統(tǒng)在階躍輸入激勵下的仿真函數step(),脈沖激勵下的仿真函數impulse()及任意輸入激勵下的仿真函數lsim()等,其中階躍響應函數step()的調用格式為[y,x]=step(sys,t)或[y,x]=step(sys)其中sys可以由tf()或zpk()函數得到,t為選定的仿真時間向量,如果不加t,仿真時間范圍自動選擇。此函數只返回仿真數據而不在屏幕上畫仿真圖形,返回值y為系統(tǒng)在各個仿真時刻的輸出所組成的矩陣,而x為自動選擇的狀態(tài)變量的時間響應數據。如果用戶對具體的響應數值不感興趣,而只想繪制出系統(tǒng)的階躍響應曲線,則可以由如下的格式調用step(sys,t)或step(sys)第十七頁,共45頁。求取脈沖響應的函數impulse()和step()函數的調用格式完全一致,而任意輸入下的仿真函數lsim()的調用格式稍有不同,因為在此函數的調用時還應該給出一個輸入表向量,該函數的調用格式為[y,x]=lsim(sys,u,t)式中,u為給定輸入構成的列向量,它的元素個數應該和t的個數是一致的。當然該函數若調用時不返回參數,也可以直接繪制出響應曲線圖形。例如

t=0:0.01:5;u=sin(t);lsim(sys,u,t)為單輸入模型sys對u(t)=sin(t)在5秒之內的輸入響應仿真。第十八頁,共45頁。MATLAB還提供了離散時間系統(tǒng)的仿真函數,包括階躍響應函數dstep(),脈沖響應函數dimpulse()和任意輸入響應函數dlsim()等,它們的調用方式和連續(xù)系統(tǒng)的不完全一致,讀者可以參閱MATLAB的幫助,如在MATLAB的提示符>>下鍵入helpdstep來了解它們的調用方式。時域分析常用函數如下:

step-階躍響應

impulse-脈沖響應

lsim-對指定輸入的連續(xù)輸出

gensig-對LSIM產生輸入信號

stepfun-產生單位階躍輸入第十九頁,共45頁。例對于下列系統(tǒng)傳遞函數下列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)’)第二十頁,共45頁。第二十一頁,共45頁。例對于下列系統(tǒng)傳遞函數下列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)’)第二十二頁,共45頁。第二十三頁,共45頁。

在MATLAB中沒有斜坡響應命令,可利用階躍響應命令求斜坡響應,先用s除G(s),再利用階躍響應命令。例如,考慮下列閉環(huán)系統(tǒng):

對于單位斜坡輸人量則下列MATLABPrograml1.3將給出該系統(tǒng)的單位斜坡響應曲線。該單位斜坡響應曲線如圖3所示。第二十四頁,共45頁。----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)’)第二十五頁,共45頁。第二十六頁,共45頁。5、控制系統(tǒng)的頻域響應分析已知系統(tǒng)的傳遞函數模型如第2節(jié)所示,則該系統(tǒng)的頻率響應為可以由下面的語句來實現,如果有一個頻率向量w,則Gw=polyval(num,sqrt(-1)*w)./polyval(den,sqrt(-1)*w);其中num和den分別為系統(tǒng)的分子分母多項式系數向量。第二十七頁,共45頁。

頻率響應曲線繪制

MATLAB提供了多種求取并繪制系統(tǒng)頻率響應曲線的函數,如Bode圖繪制函數bode(),Nyquist曲線繪制函數nyquist()等,其中bode()函數的調用格式為[m,p]=bode(num,den,w)這里,num,den和前面的敘述一樣,w為頻率點構成的向量,該向量最好由logspace()函數構成。m,p分別代表Bode響應的幅值向量和相位向量。如果用戶只想繪制出系統(tǒng)的Bode圖,而對獲得幅值和相位的具體數值并不感興趣,則可以由以下更簡潔的格式調用bode()函數bode(num,den,w)或更簡潔地bode(num,den)這時該函數會自動地根據模型的變化情況選擇一個比較合適的頻率范圍。第二十八頁,共45頁。Nyquist曲線繪制函數nyquist()類似于bode()函數,可以利用helpnyquist來了解它的調用方法。在分析系統(tǒng)性能的時候經常涉及到系統(tǒng)的幅值裕量與相位裕量的問題,使用Control工具箱提供的margin()函數可以直接求出系統(tǒng)的幅值裕量與相位裕量,該函數的調用格式為[Gm,Pm,wcg,wcp]=margin(num,den)可以看出,該函數能直接由系統(tǒng)的傳遞函數來求取系統(tǒng)的幅值裕量Gm和相位裕度裕量Pm,并求出幅值裕量和相位裕量處相應的頻率值wcg和wcp。第二十九頁,共45頁。常用頻域分析函數如下:

bode-頻率響應伯德圖

nyquist-頻率響應乃奎斯特圖

nichols-頻率響應尼柯爾斯圖

freqresp-求取頻率響應數據

margin-幅值裕量與相位裕量

pzmap-零極點圖使用時可以利用他們的幫助,如helpbode。另外,命令ltiview可以畫時域響應和頻域響應圖,利用helpltiview查看使用說明。第三十頁,共45頁。例對于下列系統(tǒng)傳遞函數下列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)’)

第三十一頁,共45頁。第三十二頁,共45頁。如果希望從0.01弧度/秒到1000弧度/秒畫伯德圖,可輸入下列命令:

w=logspace(-2,3,100)bode(num,den,w)該命令在0.01弧度/秒和100弧度/秒之間產生100個在對數刻度上等距離的點第三十三頁,共45頁。例對于下列系統(tǒng)傳遞函數

下列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)')第三十四頁,共45頁。第三十五頁,共45頁。例對于下列系統(tǒng)傳遞函數

下列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)')第三十六頁,共45頁。第三十七頁,共45頁。6、控制系統(tǒng)的根軌跡圖通常采用下列MATLAB命令畫根軌跡

rlocus(num,den)利用該命令,可以在屏幕上得到畫出的根軌跡圖。增益向量K自動被確定。命令rlocus既適用于連續(xù)系統(tǒng),也適用于離散時間系統(tǒng)。對于定義在狀態(tài)空間內的系統(tǒng),其命令為

rlocus(A,B,C,D)MATLAB在繪圖命令中還包含自動軸定標功能。第三十八頁,共45頁。例對于一單位反饋控制系統(tǒng),其開環(huán)傳遞函數為

下列MATLABPrograml1.7將給出該系統(tǒng)對應的根軌跡圖。其根軌跡圖如圖7所示。---------MATLABPrograml1.

溫馨提示

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

評論

0/150

提交評論