合肥工業大學MATLAB基礎與應用課件8MATLAB Simulink仿真_第1頁
合肥工業大學MATLAB基礎與應用課件8MATLAB Simulink仿真_第2頁
合肥工業大學MATLAB基礎與應用課件8MATLAB Simulink仿真_第3頁
合肥工業大學MATLAB基礎與應用課件8MATLAB Simulink仿真_第4頁
合肥工業大學MATLAB基礎與應用課件8MATLAB Simulink仿真_第5頁
已閱讀5頁,還剩26頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

第八章

MATLAB

Simulink

仿真Simulink的基本操作Simulink模塊庫與系統仿真Simulink子系統與模塊封裝Simulink仿真實例合肥工業大學《MATLAB基礎與應用》8.1

Simulink的基本操作8.1.1

Simulink的啟動打開MATLAB,在命令窗口輸入simulink后按回車鍵或用鼠標單擊MATLAB主窗口工具欄上的Simulink快鍵命令按鈕,即可啟動Simulink,如圖8.1所示。圖8.1

Simulink啟動窗口8.1

Simulink的基本操作Simulink啟動后會在桌面彈出Simulink模塊庫瀏覽器(Simulink

LibraryBrowser)窗口,其中左側列出的是模塊庫和工具箱,右側列出的是左側模塊對應的子模塊庫;如圖8.2所示。圖8.2

Simulink模塊庫瀏覽器窗口8.1

Simulink的基本操作8.1.2

Simulink模型窗口的建立在MATLAB主菜單中,選擇File菜單中New菜單項的Simulink

Model命令,便可打開模型編輯窗口,如圖8.3所示。在模型窗口中用戶可通過選擇模塊庫中的仿真模塊來建模和仿真。圖8.3

Simulink模型編輯窗口8.2

Simulink模塊庫與系統仿真8.2.1

Simulink模塊庫Simulink的模塊庫提供了大量模塊。單擊模塊庫瀏覽器中Simulink前面的符號,將看到Simulink模塊庫中包含的子模塊庫,單擊所需要的子模塊庫,在右邊的窗口中將看到相應的基本模塊,選擇所需基本模塊,可用鼠標將其拖到模型編輯窗口。常見的Simulink公共模塊庫如圖8.4所示。圖8.4

Simulink公共模塊庫【例8.1】利用Simulink設計一個簡單模型,將一時間信號輸出到示波器中。解題基本步驟如下:在MATLAB中打開Simulink模塊庫瀏覽器(Simulink

Library

Browser)窗口。選擇菜單File→New→Model,新建一個名為untitled的空白模型窗口。在空白模型窗口右側的子模塊窗口中,單擊Source子模塊庫前的“+”號便可看到各種輸入源模塊。用鼠標單擊所需的輸入信號源模塊Clock(時間信號),將其拖放到的空白模型窗口untitled,則Clock模塊就被添加到untitled窗口;用同樣的方法打開接收模塊庫Sinks,選擇其中的Scope模塊(示波器)并拖放到

untitled窗口中。在untitled窗口中,用鼠標指向Clock右側的輸出端,當光標變為十字符時,按住鼠標拖向Scope模塊的輸入端,松開鼠標按鍵,就完成了兩個模塊間的信號線連接,即建成了一個簡單的模型,如圖8.5所示。開始仿真。單擊untitled模型窗口中的“開始仿真”圖標,或者選擇菜單Simulink→Run,則仿真開始。雙擊Scope模塊出現示波器顯示屏,結果如圖8.6所示。8.2

Simulink模塊庫與系統仿真8.2

Simulink模塊庫與系統仿真圖8.5

Simulink模型窗口圖8.6仿真結果(8)保存模型,單擊工具欄的圖標,將該模型保存為Ex0801.mdl文件。8.2

Simulink模塊庫與系統仿真8.2.2

Simulink環境下的仿真運行1.設置仿真參數在系統仿真過程中,需先對仿真算法、輸出模式等各種仿真參數進行設置,如圖8.9所示。圖8.9仿真參數設置對話框8.2

Simulink模塊庫與系統仿真啟動系統仿真與仿真結果分析設置完仿真參數后,從Simulation中選擇Run菜單項或單擊模型編輯窗口中的快鍵命令按鈕,便可啟動對當前模型的仿真。為了觀察仿真結果的變化軌跡,可以采用三種方法:把輸出結果送給Scope模塊或XY

Graph模塊。把仿真結果送到To

File模塊并作為返回變量,默認文件名的后綴為.mat,然后使用MATLAB命令畫出該變量的變化曲線。把輸出結果送到To

Workspace模塊,將結果直接存入工作空間,然后用MATLAB命令畫出該變量的變化曲線。8.2

Simulink模塊庫與系統仿真【例8.2】用Simulink創建一個正弦信號的仿真模型。本例解題的基本步驟如下:打開Simulink模塊庫瀏覽器(Simulink

Library

Browser)窗口,如圖

8.10所示。新建一個名為untitled的空白模型窗口。圖8.10

Simulink

Library

Browser8.2

Simulink模塊庫與系統仿真用鼠標單擊Source子模塊庫中的輸入信號源模塊Sine

Wave(正弦信號),將其拖放到的空白模型窗口untitled,如圖8.11所示。用同樣的方法打開接收模塊庫Sinks,選擇其中的Scope模塊(示波器)并拖放到untitled窗口中。圖8.11

Simulink界面8.2

Simulink模塊庫與系統仿真在untitled窗口中,將兩個模塊連接起來,建成一個簡單的模型,如圖8.12所示。開始仿真。單擊untitled模型窗口中的“開始仿真”圖標,則仿真開始。雙擊Scope模塊出現示波器顯示屏,可以看到正弦波形,如圖8.13所示。圖8.13仿真結果圖8.12

Simulink模型窗口(7)保存模型。單擊工具欄上的圖標,將該模型保存為Ex0802.mdl文件。8.3

Simulink子系統與模塊封裝8.3.1

Simulink子系統的建立建立子系統有兩種方法:通過Subsystem模塊建立子系統和通過已有的模塊建立子系統。通過Subsystem模塊建立子系統操作步驟如下:先打開Simulink模塊庫瀏覽器,新建一個空白模型編輯窗口。打開Simulink模塊庫中的Ports

&

Subsystems模塊庫,將

Subsystem模塊添加到模型編輯窗口中,如圖8.14所示。雙擊Subsystem模塊,Simulink會在當前窗口或一個新的模型窗口中打開子系統,如圖8.15所示。用戶可將要組合的模塊添加到該窗口中,這樣就建好了一個子系統。子系統窗口中的Inport模塊表示來自于子系統外的輸入,Export模塊表示外部輸出。8.3

Simulink子系統與模塊封裝在圖8.15的基礎上,再添加一個In1模塊、一個Add模塊,并用線連接起,如圖8.16(a)所示。原來的子系統也變成了新的子系統,這個子系統表示對兩個外部輸入求和,并將結果通過Export模塊輸出到子系統外的模塊,如圖8.16(b)所示。圖8.14

Simulink模型窗口圖8.15子系統模型窗口圖8.16(a)新的子系統模型窗口圖8.16(b)新的子系統模型窗口8.3

Simulink子系統與模塊封裝【例8.3】用Simulink創建一個子系統,求n個自然數之和?;静襟E如下:打開Simulink模塊庫瀏覽器,新建一個名為untitled的空白模型窗口。添加模塊。將Sources子模塊庫中的Constant模塊、Ports

&

Subsystems模塊庫

中的For

Iterator

Subsystem模塊、Sinks模塊庫中的Display模塊依次添加到模型編輯窗口中并連接,如圖8.17所示。打開子系統模塊。雙擊圖8.17中r

For

Iterator

Subsystem模塊,打開默認子系統模塊,如圖8.18所示。圖8.17

Simulink模型窗口圖8.18默認子系統模塊8.3

Simulink子系統與模塊封裝設置模塊屬性。在圖8.18的模型窗口中雙擊ForIterator模塊,將ForIterator模塊參數對話框中的Statewhenstarting參數設置為reset,將Iteration

limitsource參數設置為external,并選擇Show

iteration

variable復選框,如圖8.19所示。在子系統中添加模塊。將Commonly

Used

Blocks子模塊庫中的Data

TypeConversion模塊、Math

Operations模塊庫中的Add模塊、Discrete模塊庫中的UnitDelay模塊依次添加到模型編輯窗口中并連接,如圖8.20所示。圖8.19模塊參數設置對話框圖8.20子系統模塊8.3

Simulink子系統與模塊封裝返回主系統,雙擊常數模塊Constant,打開參數對話框,將參數Constant

Value的值設為100,如圖8.21所示。開始運行。單擊untitled模型窗口中的“開始仿真”圖標,結果如圖8.22所示。由運行結果可知前100個自然數之和為5050,這與理論計算結果是一致的。圖8.21常數模塊參數設置對話框圖8.22運行結果8.3

Simulink子系統與模塊封裝通過已有的模塊建立子系統操作步驟為:先選擇要建立子系統的模塊,不包括輸入端口和輸出端口。選擇模型編輯窗口Diagram菜單中的Create

Subsystem

from

Selection命令,或者按快捷鍵Ctrl+G,就建好了子系統,系統會自動把輸入模塊和輸出模塊添加到子系統中,并把原來的模塊變為子系統的圖標?!纠?.4】為圖8.22所示子系統模塊建立一個新的子系統?;静襟E如下:在圖8.22中的編輯模型窗口中,單擊鼠標左鍵并拖動,全選所有模塊,如圖8.23所示。單擊模型編輯窗口Diagram菜單中的Create

Subsystem

from

Selection命令,

Simulink會將所選模塊用Subsystem模塊代替,如圖8.24所示。8.3

Simulink子系統與模塊封裝圖8.23選擇子系統中全部模塊圖8.24新的子系統模塊8.3

Simulink子系統與模塊封裝8.3.2

子系統的條件執行條件執行子系統也是一個子系統,但在模型中是否執行條件子系統則取決于其他條件信號。常見的有以下幾種類型的條件執行子系統。1.使能子系統使能子系統(Enabled

Subsystem)模塊可作為單個單元執行,用戶可以按在子系統內放置Enable模塊的方式來創建使能子系統,并設置使能子系統內Enable端口模塊中的States

when

enabling參數來配置子系統內的模塊狀態,但它只有在驅動子系統使能端口的輸入信號大于零時才會執行。建立使能子系統的方法是:打開Simulink模塊庫中的Ports

&Subsystems模塊庫,將Enable模塊復制到子系統模型中,則系統的圖標發生了變化。8.3

Simulink子系統與模塊封裝【例8.5】建立一個用使能子系統控制正弦信號為半波整流信號的模型?;静襟E如下:打開Simulink模塊庫瀏覽器,新建一個名為untitled的空白模型窗口。添加模塊。模型以Sine

wave(正弦信號)為輸入信號源,以

Enabled

Subsystem(使能子系統)為控制模塊,以Scope(示波器)為接收模塊,依次添加模塊并連接模塊,將Sine

wave模塊的輸出作為

Enabled

Subsystem的控制信號,模型如圖8.25所示。設置模塊參數。打開Enable模塊對話框,如圖8.26所示,States

when

enabling參數包括兩個選項:held選項表示使狀態保持為最近的值,reset選項表示使狀態返回到初始條件。Enable模塊對話框的另一個選項是Show

output

port復選框,選擇這個選項表示允許用戶輸出使能控制信號。8.3

Simulink子系統與模塊封裝圖8.25

使能子系統模型

圖8.26

Enable模塊參數設置打開使能子系統中每個Export輸出端口模塊的對話框,如圖8.27所示。8.3

Simulink子系統與模塊封裝(4)開始仿真。由于EnabledSubsystem的控制為正弦信號,大于零時執行輸出,小于零時就停止,因此示波器顯示為半波整流信號,示波器的顯示如圖8.28所示。圖8.27

Out1模塊參數設置圖8.28示波器顯示的半波整流信號8.3

Simulink子系統與模塊封裝觸發子系統觸發子系統(Triggered

Subsystem)是指當觸發事件發生時開始執行子系統。與使能子系統相類似,觸發子系統的建立要把Ports

&

Subsystems模塊庫中的Trigger模塊添加到子系統中,或直接選擇Triggered

Subsystem模塊來建立觸發子系統?!纠?.6】建立一個用觸發子系統控制正弦信號輸出階梯波形的模型?;静襟E如下:打開Simulink模塊庫瀏覽器,新建一個名為untitled的空白模型窗口。添加模塊。模型以Sine

wave(正弦信號)為輸入信號源,以

Triggered

Subsystem(觸發子系統)為控制模塊,以Scope(示波器)為接收模塊,選擇Sources模塊庫中的Pulse

Generator模塊為控制信號。連接模塊,將Pulse

Generator模塊的輸出作為Triggered

Subsystem的控制信號,模型如圖8.29所示。8.3

Simulink子系統與模塊封裝(3)設置模塊參數。打開Trigger模塊的參數對話框,如圖8.30所示,其中Trigger

type參數包括上升沿、下降沿、雙邊沿、函數調用觸發。當觸發事件發生時,觸發子系

統不能重新設置它們的狀態,任何離散模塊的狀態在兩次觸發事件之間會

一直持續下去。圖8.29觸發子系統模型圖8.30

Trigger模塊參數設置8.3

Simulink子系統與模塊封裝(4)開始仿真。由于Triggered

Subsystem的控制為Pulse

Generator模塊的輸出,示波器輸出如圖8.31所示。圖8.31示波器顯示的觸發信號8.3

Simulink子系統與模塊封裝3.觸發使能子系統所謂使能加觸發子系統(Enabled

and

Triggered

Subsystem),就是把Enable和Tirgger模塊都加到子系統中,使能控制信號和觸發控制信號共同作用子系統的執行,即前兩種子系統的綜合。該系統的行為方式與觸發子系統相似,但只有當使能控制信號為正值時,觸發使能子系統才執行一次。8.3

Simulink子系統與模塊封裝8.3.3

Simulink子系統的封裝所謂子系統的封裝(Masking),是指為子系統定制對話框和圖標,使子系統本身有一個獨立的操作界面,把子系統中各模塊要設置的參數設為變量進行封裝,使變量可在封裝系統的參數設置對話框中統一進行設置,從而不必打開每個模塊進行參數設置,進而使子系統的使用更加便捷且不易出錯。封裝子系統的步驟:創建子系統。選擇要封裝的子系統并雙擊打開,給需要進行賦值的參數指定一個變量名。返回子系統,單擊菜單欄中的Diagram選項或單擊鼠標右鍵,選擇

Mask→Create

Mask,即可打開封裝對話框。在封裝對話框中設置封裝子系統的相關參數,主要有Icon

&

Ports、

Parameters、I

溫馨提示

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

評論

0/150

提交評論