實驗一 指導書 MATLAB 在控制系統(tǒng)模型建立與仿真中的應用_第1頁
實驗一 指導書 MATLAB 在控制系統(tǒng)模型建立與仿真中的應用_第2頁
實驗一 指導書 MATLAB 在控制系統(tǒng)模型建立與仿真中的應用_第3頁
實驗一 指導書 MATLAB 在控制系統(tǒng)模型建立與仿真中的應用_第4頁
實驗一 指導書 MATLAB 在控制系統(tǒng)模型建立與仿真中的應用_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實驗一MATLAB在控制系統(tǒng)模型建立與仿真中的應用、MATLAB基本操作與使用實驗目的熟悉MATLAB工作環(huán)境平臺及其各個窗口,掌握MATLAB語言的基本規(guī)定,MATLAB圖形繪制功能、M文件程序設計。學習使用MATLAB控制系統(tǒng)工具箱中線性控制系統(tǒng)傳遞函數(shù)模型的相關函數(shù)。實驗儀器PC計算機一臺,MATLAB軟件1套3.實驗內(nèi)容1)MATLAB工作環(huán)境平臺3.實驗內(nèi)容1)MATLAB工作環(huán)境平臺CommandWindow□回岡FileEdit¥iewWebWindowHelp?CurrentDirectory:D:'>setup_6p5^^ork'lzikongLaunohF'adMATLAIiLaunohF'adMATLAIiToolboseeSimulinkBlocksetsComrrHndWindowUEingToolbonFathCache."helptth_匚:玄匚hm"formoreinfo.__WorkspaceCurrentDirectoryLaunchPadCornrrandHEtory%—7/05/085:38AM—%,…%—7/05/085:38AM—%,…、,.AU1應圖1在央文Windows平臺%—7/0T/088:51AM—%v的MATLAB6.5MATLAB工作平臺O①“命t令窗口(CommandWindow)命令窗口是對MATLAB進行操作的主要載體,默認的情況下,啟動MATLAB時就會打開命令窗口,顯示形式如圖1所示。一般來說,MATLAB的所有函數(shù)和命令都可以在命令窗口步。命令行操作實現(xiàn)了對程序中執(zhí)行。掌握MALAB命令行操作是走入MATLAB世界的第設計而言簡單而又重要的人機交互,通過對命令行操作,避免了編程序的麻煩,體現(xiàn)了步。命令行操作實現(xiàn)了對程序MATLAB所特有的靈活性。在運行MATLAB后,當命令窗口為活動窗口時,將出現(xiàn)一個光標,光標的左側還出現(xiàn)提示符“〉〉”,表示MATLAB正在等待執(zhí)行命令。注意:每個命令行鍵入完后,都必須按當需要處理相當繁瑣的計算時,可能在一行之內(nèi)無法寫完表達式,可以換行表示,此時需要使用續(xù)行符“?”否則MATLAB將只計算一行的值,而不理會該行是否已輸入完畢。使用續(xù)行符之后MATLAB會自動將前一行保留而不加以計算,并與下一行銜接,等待完整輸入后再計算整個輸入的結果。在MATLAB命令行操作中,有一些鍵盤按鍵可以提供特殊而方便的編輯操作。比如:“f”可用于調(diào)出前一個命令行,“「'可調(diào)出后一個命令行,避免了重新輸入的麻煩。當然下面即將講到的歷史窗口也具有此功能??捎糜谡{(diào)出前一個命令行,歷史窗口(CommandHistory)歷史命令窗口是MATLAB6新增添的一個用戶界面窗口,默認設置下歷史命令窗口會保留自安裝時起所有命令的歷史記錄,并標明使用時間,以方便使用者的查詢。而且雙擊某一行命令,即在命令窗口中執(zhí)行該命令。當前目錄窗口(CurrentDirectory)在當前目錄窗口中可顯示或改變當前目錄,還可以顯示當前目錄下的文件,包括文件名、文件類型、最后修改時間以及該文件的說明信息等并提供搜索功能。工作空間管理窗口(Workspace)工作空間管理窗口是MATLAB的重要組成部分。在工作空間管理窗口中將顯示所有目前保存在內(nèi)存中的MATLAB變量的變量名、數(shù)據(jù)結構、字節(jié)數(shù)以及類型,而不同的變量類型分別對應不同的變量名圖標。MATLAB的基本規(guī)定數(shù)值的表示MATLAB的數(shù)值采用十進制,可以帶小數(shù)點或負號。以下表示都合法00,-100,0.008,12.752,1.8e-6,8.2e52變量命名規(guī)定變量名、函數(shù)名:字母大小寫表示不同的變量名。如A和a表示不同的變量名;sin是MATLAB定義的正弦函數(shù),而Sin,SIN等都不是。變量名的第一個字母必須是英文字母,不能是數(shù)字,最多可包含31個字符(英文、數(shù)字和下連字符)。如A21是合法的變量名,而3A21是不合法的變量名。變量名中不得包I含空格、標點,但可以有下連字符。如變量名A_b21是合法變量名,而A,21是不合法的?;具\算符表1MATLAB表達式的基本運算符數(shù)學表達式MATLAB運算符MATLAB表達式加a+b+a+b減a—b一a—b乘aXb*a*b除a—b/或\a/b或a\b幕abAaAb點乘兩矩陣元素相乘*a.*b(4)MATLAB默認的預定義變量在MATLAB中有一些預定義變量(predefinedvariable)。每當MATLAB啟動,這些變量就被產(chǎn)生。用戶在定義變量時,盡量避開表2所列預定義變量名,以免產(chǎn)生混淆。表2MATLAB的預定義變量預定義變量含義預定義變量含義ans計算結果的缺省變量名NaN或nan未定式,如0/0eps機器零閾值nargin函數(shù)輸入宗量數(shù)目flops浮點運算次數(shù)nargout函數(shù)輸出宗量數(shù)目Inf或inf無窮大廿1/0realmax最大正實數(shù)i或j虛單元i=j=J1realmin最小正實數(shù)pi圓周率n對《自動控制理論》書p409—410中簡單數(shù)學運算的例子,請在MATLAB命令窗口中對這些運算進行驗證。(5)MATLAB的矩陣運算(課本P410—411)矩陣的輸入和矩陣的運算對課本p410—411中矩陣運算的例子,請在MATLAB命令窗口中對這些運算進行驗證。MATLAB圖形繪制在二維曲線繪制中,最基本的指令是31ot()函數(shù)。如果用戶將X和Y兩組數(shù)據(jù)分別在向量x和Y中存儲,且它們的長度相同,調(diào)用該函數(shù)的格式為:plot(x,y)這時將在一個圖形窗口上繪出所需要的二維圖形。在MATLAB命令窗口提示符“>>”下鍵入helpplot,可得到plot()函數(shù)的相關內(nèi)容,如曲線顏色和線型的改變。任務一:在MATLAB命令窗口提示符“>>”下,完成下述任務:任務(1)繪制一個周期內(nèi)的正弦曲線。先產(chǎn)生自變量t時間向量,由給出的自變量時間向量求取其正弦函數(shù)值向量,然后調(diào)用plot()函數(shù)繪制曲線。任務(2)在一個繪圖窗口上同時繪制多條曲線。參考課本p411—412,寫成命令,完成上述任務(1)和任務(2)。M文件程序設計對于簡單問題,使用直接輸入命令簡單有效,但對于較復雜和多次重復的問題,直接輸入命令比較麻煩,使用M文件則簡便。MATLAB不僅用命令行方式工作,還可以像BASIC、FORTRAN、C等其他高級計算機語言一樣進行控制流的程序設計(MATLAB語言的流程控制語句主要有for、while、if-else-end及switch-case等4種語句)。MATLAB控制流,即編制一種以.m為擴展名的MATLAB程序(簡稱M文件)。由于商用的MATLAB軟件是用C語言編寫而成。因此,M文件的語法與C語言十分相似。建立和運行M文件程序的過程如下:打開M文件編輯窗口:在圖1中選擇File-New-M—file菜單項實現(xiàn),在M文件編輯窗口鍵入M文件的各行命令代碼,例如輸入課本P412M文件部分的例子代碼保存文件:在圖2中選擇File—Save菜單項,保存文件。例如可鍵入exp1,上述命令行就保存為expl.m。調(diào)試運行M文件程序:可在圖中選擇)ebugfRun菜單項,全速運行M文件程序。也可用鼠標點擊行號后短橫線,給程序設置斷點,選擇DebugfStep,單步運行M文件程序,并根據(jù)工作空間管理窗口(Workspace)結果了解每條指令的功能。此外,在MATLAB命令窗口鍵入expl(該M文件的名字,注意不寫后綴)即可運行該M文件。任務二:按上面的過程來建立并保存一個M文件程序,并調(diào)試運行M文件程序。MATLAB控制系統(tǒng)工具箱中的線性系統(tǒng)傳遞函數(shù)模型的相關函數(shù)(l)tf()函數(shù)若要在MATLAB環(huán)境下得到傳遞函數(shù)的形式,可以調(diào)用f()函數(shù)。該函數(shù)的調(diào)用格式為G=tf(num,den);其中num,den分別為系統(tǒng)傳遞函數(shù)的分子和分母多項式系數(shù)向量。返回的G為傳遞函數(shù)形式。但如果分子或分母多項式給出的不是完全的展開的形式,而是若干個因式的乘積,則事先需要將其變換為完全展開的形式,兩個多項式的乘積在MATLAB下借用卷積求取函數(shù)conv()得出,其調(diào)用格式為p=conv(p1,p2)其中pl和p2為兩個多項式,調(diào)用這個函數(shù)就能返回乘積多項式p。如果有3個多項式的乘積,就需要嵌套使用此函數(shù),即p=conv(pl,conv(p2,p3))或p=conv(conv(pl,p2),p3)請注意在調(diào)用時括號的匹配。MATLAB還支持一種特殊的傳遞函數(shù)的輸入格式,在這樣的輸入方式下,應該先用s=tf('s')定義傳遞函數(shù)算子,然后用數(shù)學表達式直接輸入系統(tǒng)的傳遞函數(shù)。請自己通過下面兩個例子來演示和掌握f()和s=tf('s')算子這兩種輸入方式。例1設系統(tǒng)傳遞函數(shù)G=----s4+2s3+4s2+3s+1輸入方式一:num=[l,5,3,2];den=[l,2,4,3,l];%分子多項式和分母多項式G=tf(num,den);%這樣就獲得系統(tǒng)的數(shù)學模型G了。這些命令可在命令行輸入也可編成一個M文件。在MATLB提示符“>>”下鍵入G,或省略最后命令中分號,則可顯示該數(shù)學模型。輸入方式二:s=tf('s');G=(sA3+5*sA2+3*s+2)/(sA4+2*sA3+4*sA2+3*s+1);任務三:設系統(tǒng)傳遞函數(shù)G=口采用上面兩種輸入方式,輸入其傳遞函數(shù),s4-2s3-3s-4并記錄命令。例2設系統(tǒng)傳遞函數(shù)G=-(s-1)2(s2-3s-4)(s2-1)此題分子或分母多項式給出的不是完全展開的形式,而是若干個因式的乘積,采用f()這一種輸入法之前,應先用conv()函數(shù)獲得分子和分母多項式給出的完全展開的形式num和den,即輸入命令:num=conv([0,5],[1,2.4]);den=conv(conv(conv([1,1],[1,1]),[1,3,4]),[1,0,1]);G=tf(num,den)%語句沒有分號結尾,故將顯示系統(tǒng)傳遞函數(shù)Transferfunction:5s+12sA6+5sA5+12sA4+16sA3+15sA2+11s+4這種情況用算子方法可以更直觀地輸入系統(tǒng)模型,輸入命令為s=tf('s');G=5*(s+2.4)/((s+l)人2*(s^2+3*s+4)*(sA2+l));任務四:在MATLAB命令窗口中對例2的這兩種輸入方法進行驗證。(2)tfdata()函數(shù)如果有了傳遞函數(shù)G,則提取控制系統(tǒng)的傳遞函數(shù)的分子多項式num和分母多項式den可以由tfdata()函數(shù)來實現(xiàn)。如輸入命令:s=tf('s');G=5*(s+2.4)/((s+l)"2*(s"2+3*s+4)*(s"2+l))[num,den]=tfdata(G,'v')%其中'v'表示想獲得num和den的數(shù)值任務五:在MATLAB命令窗口中對該例進行驗證。(3)zpk()函數(shù)若要得到控制系統(tǒng)零極點傳遞函數(shù),可以調(diào)用zpk()函數(shù)。該函數(shù)的調(diào)用格式為G=zpk(Z,P,K);其中K為系統(tǒng)的增益,Z,P分別為系統(tǒng)傳遞函數(shù)的零點和極點列向量。返回的G為傳遞函數(shù)形式。例3設系統(tǒng)傳遞函數(shù)G=(s+1.539)(s+27305+28538汛s+27305二28538j八(s+4)(S+3)(s+2)(S+1)輸入下面的命令:Z=[-1.539;-2.7305+2.8538i;-2.7305-2.8538i];%注意使用列向量,另外注意符號P=[-1;-2;-3;-4];G=zpk(Z,P,1);在MATLB提示符“>>”下鍵入G,或省略最后命令中分號,則可顯示該數(shù)學模型。>>G%下面是MATLB的顯示結果Zero/pole/gain:(s+1.539)(sA2+5.461s+15.6)(s+1)(s+2)(s+3)(s+4)任務六:在MATLAB命令窗口中對該例進行驗證。注意在MATLAB的零極點模型顯示中,如果有復數(shù)零極點存在,則用二階多項式來表示兩個因子,而不直接展成復數(shù)的一階因式。tf2zp()函數(shù)、zp2tf()函數(shù)控制系統(tǒng)分子、分母多項式傳遞函數(shù)與控制系統(tǒng)零極點傳遞函數(shù)可以用tf2zp()、zp2tf()函數(shù)轉換。tf2zp()可將分子、分母多項式的傳遞函數(shù)轉換為零、極點增益形式。該函數(shù)的調(diào)用格式為[Z,P,K]=tf2zp(num,den);zp2tf()可將零、極點增益形式轉換為分子、分母多項式的傳遞函數(shù)。該函數(shù)的調(diào)用格式為[num,den]=zp2tf(Z,P,K)任務七:應用tf2zp()函數(shù)求出例1和任務五中系統(tǒng)的零極點。實驗報告內(nèi)容寫出MATLAB工作環(huán)境平臺中四個窗口的功能。實現(xiàn)實驗內(nèi)容的所有任務,并將答案記錄(記錄命令代碼)。整理在實驗過程中遇到的問題及如何解決的。StoppedindebuggerStoppedindebugger每次實驗報告形式為:實驗名稱、實驗目的、實驗儀器、實驗內(nèi)容(包括以上列出的實驗報告內(nèi)容1)、2)、3))、分析心得等。預習要求1)閱讀實驗內(nèi)容及實驗目的。2)完成對MATLAB軟件的熟悉工作。、SIMULINK基本功能與使用實驗目的1)SIMULINK的使用方法。2)熟悉SIMULINK模塊庫的分類及其相應用途。3)能夠使用SIMULINK進行系統(tǒng)模型的建立并仿真等。實驗儀器:PC計算機一臺,MATLAB軟件1套實驗內(nèi)容1)SIMULINK的啟動啟動方式一:在MATLAB命令窗口,鍵入“SIMULINK”啟動方式二:點擊窗口上面的SIMULINK圖標。如圖3所示,就打開了SIMULINK窗口,進入SIMULINK庫模塊瀏覽界面。2)SIMULINK的模型窗口的建立在SIMULINK窗口下,用鼠標點擊newmodel圖標或選取菜單File—New—Model后,SIMULINK會打開一個名為untilited(無標題)的模型窗口,如圖4所示。隨后,按用戶要求可以在此模型窗口中創(chuàng)建模型及進行仿真運行。打開SimulinkLibraryBrowser瀏覽器口回岡[indowfielpD為電韁門c驚?CurrentDirectory:D:teetup_6p5Work''zikongLaunchPad回區(qū)ICorrirTHndWindov/LaunchPad回區(qū)ICorrirTHndWindov/回區(qū)I>WorkspaceCurrentDirectoryLaunchPadI>WorkspaceCurrentDirectoryLaunchPadICarnrTHndHEtoryMATLAIiToolboxesSirTmlinkElo'zkse%—7/05/085:38AM—%simulink%—7/07/088:51AM—%UeingToolboxF:mthCache."helptth_匚日匚hm"formoreinfo.To迂£t:mrted.select''MATLAE!Help,vfromth已Helpmemi.<""'>SIMULINK模塊庫SIMULINK提供了9類基本模塊庫:連續(xù)系統(tǒng)模塊庫(Continous)、離散系統(tǒng)模塊庫(Discrete)、函數(shù)與表模塊庫(Function&Tables)、數(shù)學運算模塊庫(Math)、非線性系統(tǒng)模塊庫(Nonlinear)、信號模塊庫(SignalRouting)、輸出模塊庫(Sinks)、輸入源模塊庫(Sourses)、子系統(tǒng)模塊庫(Subsystems)等基本模塊庫。附錄二對本實驗書中用到的5個模塊:連續(xù)系統(tǒng)模塊庫(Continous)、數(shù)學運算模塊庫(Math)、信號模塊庫(SignalRouting)、輸出模塊庫(Sinks)、和輸入源模塊庫(Sourses)的功能進行了介紹。用SIMULINK建立系統(tǒng)模型及仿真(1)例1以求一個慣性環(huán)節(jié)G=5的階躍響應為例,說明模型的建立過程。0.8s+2開啟SIMULINK窗口及模塊庫:在MATLAB命令窗口,鍵入“SIMULINK”,或點擊窗口上面的SIMULINK圖標,如圖3所示,就打開了SIMULINK窗口,進入SIMULINK庫模塊瀏覽界面。建立新文件:在SIMULINK窗口下,用鼠標點擊newmodel圖標或選取菜單File-New-Model后,SIMULINK會打開一個名為untilited(無標題)的空白模型窗口,如圖4所示。新文件建立后,可以用菜單File中的Saveas命令保存程序,這時需要給文件取名。保存的文件擴展應名為.mdl。本例中將文件名命名為exampl.mdl。復制模塊:雙擊模塊組圖標打開模塊子庫,將鼠標移到所要復制的模塊上,然后按下左鍵并拖動鼠標到目標窗口,再松開鍵,用右鍵可在任意窗口內(nèi)復制模塊,此時原模塊保留。本例中需雙擊Sources圖標從信號源庫中選中階躍信號模塊,雙擊Continuous圖標從連續(xù)系統(tǒng)模塊庫中選中傳遞函數(shù)模塊,雙擊Sinks圖標從顯示庫中選中示波器模塊,分別拖入exampl.mdl目標窗口。修改模塊參數(shù)。通常目標窗口中復制的模塊的參數(shù)和要求不一致,因此需對這些復制過來的模塊參數(shù)進行修改。雙擊復制過來的模塊,會出現(xiàn)對一個對話框,在對話框中設置相應參數(shù)。本例中雙擊Step模塊,設置階躍信號的起始時間從默認的1修改為0、并可根據(jù)實際情況設計設置初值和終值;雙擊TransferFcn模塊,設置傳遞函數(shù)的表達式,在分子(Numerator)多項式系數(shù)處鍵入[5],在分母(Denominator)多項式系數(shù)處鍵入[0.8,2].模塊之間的連接:模塊左側和右側尖角〉分別表示模塊的輸入和輸出,模塊之間的連接按照下述方法進行:鼠標移到一個模塊的輸入(出)端,按下左鍵,拖動鼠標到另一個模塊的輸出(入)端,松開,連線完畢。若要從一條已經(jīng)存在的連線上引出另一條連線,首先把鼠標指針移到這個連線上,按下右鍵,拖動鼠標到目標端口,再松開鍵。按照上述步驟建立的慣性環(huán)節(jié)模型如圖5所示。

圖5用SIMULINK建立的慣性環(huán)節(jié)模型若需要選擇對象或刪除對象,用鼠標左鍵在所選對象上單

溫馨提示

  • 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

提交評論