版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
MATLAB程序設(shè)計教程(第二版)劉衛(wèi)國主編
中國水利水電出版社MATLAB程序設(shè)計教程(第二版)劉衛(wèi)國主編1第11章SIMULINK動態(tài)仿真集成環(huán)境Simulink操作基礎(chǔ)MATLAB系統(tǒng)仿真模型MATLAB系統(tǒng)的仿真使用命令操作對系統(tǒng)進行仿真MATLAB子系統(tǒng)及其封裝技術(shù)S函數(shù)的設(shè)計與應(yīng)用第11章SIMULINK動態(tài)仿真集成環(huán)境Simulin211.1.1Simulink簡介Simulink是MATLAB的重要組成部分,提供建立系統(tǒng)模型、選擇仿真參數(shù)和數(shù)值算法、啟動仿真程序?qū)υ撓到y(tǒng)進行仿真、設(shè)置不同的輸出方式來觀察仿真結(jié)果等功能。11.1Simulink操作基礎(chǔ)11.1.1Simulink簡介11.1Simul311.1.2Simulink的啟動與退出1.Simulink的啟動在MATLAB的命令窗口輸入simulink或單擊MATLAB主窗口工具欄上的Simulink命令按鈕即可啟動Simulink。Simulink啟動后會顯示Simulink模塊庫瀏覽器(SimulinkLibraryBrowser)窗口。11.1.2Simulink的啟動與退出4在啟動Simulink模塊庫瀏覽器后再單擊其工具欄中的Newmodel命令按鈕,會彈出名字為untitled的模型編輯窗口。在MATLAB主菜單中,選擇File菜單中New菜單項的Model命令,也可打開模型編輯窗口。利用模型編輯窗口,可以通過鼠標的拖放操作創(chuàng)建一個模型。
在啟動Simulink模塊庫瀏覽器后再單擊其工具欄中的New52.Simulink的退出為了退出Simulink,只要關(guān)閉所有模型編輯窗口和Simulink模塊庫瀏覽器窗口即可。2.Simulink的退出611.2系統(tǒng)仿真模型11.2.1Simulink的基本模塊Simulink的模塊庫提供了大量模塊。單擊模塊庫瀏覽器中Simulink前面的“+”號,將看到Simulink模塊庫中包含的子模塊庫,單擊所需要的子模塊庫,在右邊的窗口中將看到相應(yīng)的基本模塊,選擇所需基本模塊,可用鼠標將其拖到模型編輯窗口。同樣,在模塊庫瀏覽器左側(cè)的Simulink欄上單擊鼠標右鍵,在彈出的快捷菜單中單擊Openthe‘Simulink’Libray命令,將打開Simulink基本模塊庫窗口。單擊其中的子模塊庫圖標,打開子模塊庫,找到仿真所需要的基本模塊。11.2系統(tǒng)仿真模型711.2.2模塊的編輯1.添加模塊2.選取模塊3.復(fù)制與刪除模塊4.模塊外形的調(diào)整5.模塊名的處理11.2.2模塊的編輯811.2.3模塊的連接1.連接兩個模塊2.模塊間連線的調(diào)整3.連線的分支4.標注連線5.刪除連線11.2.3模塊的連接911.2.4模塊的參數(shù)和屬性設(shè)置1.模塊的參數(shù)設(shè)置Simulink中幾乎所有模塊的參數(shù)都允許用戶進行設(shè)置,只要雙擊要設(shè)置的模塊或在模塊上按鼠標右鍵并在彈出的快捷菜單中選擇相應(yīng)模塊的參數(shù)設(shè)置命令就會彈出模塊參數(shù)對話框。該對話框分為兩部分,上面一部分是模塊功能說明,下面一部分用來進行模塊參數(shù)設(shè)置。同樣,先選擇要設(shè)置的模塊,再在模型編輯窗口Edit菜單下選擇相應(yīng)模塊的參數(shù)設(shè)置命令也可以打開模塊參數(shù)對話框。11.2.4模塊的參數(shù)和屬性設(shè)置102.模塊的屬性設(shè)置選定要設(shè)置屬性的模塊,然后在模塊上按鼠標右鍵并在彈出的快捷菜單中選擇Blockproperties,或先選擇要設(shè)置的模塊,再在模型編輯窗口的Edit菜單下選擇Blockproperties命令,將打開模塊屬性對話框。該對話框包括General、Blockannotation和Callbacks3個可以相互切換的選項卡。其中選項卡中可以設(shè)置3個基本屬性:Description(說明)、Priority(優(yōu)先級)、Tag(標記)。2.模塊的屬性設(shè)置11例11-1有系統(tǒng)的微分方程,試建立系統(tǒng)仿真模型。操作過程如下:(1)在MATLAB主菜單中,選擇File菜單中New菜單項的Model命令,打開一個模型編輯窗口。(2)將所需模塊添加到模型中。(3)設(shè)置模塊參數(shù)并連接各個模塊組成仿真模型。設(shè)置模塊參數(shù)后,用連線將各個模塊連接起來組成系統(tǒng)仿真模型。模型建好后,從模型編輯窗口的File菜單中選擇Save或Saveas命令將它存盤。例11-1有系統(tǒng)的微分方程,試建立系統(tǒng)仿真模型。1211.3.1設(shè)置仿真參數(shù)在系統(tǒng)仿真過程中,事先必須對仿真算法、輸出模式等各種仿真參數(shù)進行設(shè)置。其方法是:打開系統(tǒng)仿真模型,從模型編輯窗口的Simulation菜單中選擇ConfigurationParameters命令,打開一個仿真參數(shù)對話框,在其中可以設(shè)置仿真參數(shù)。在此對話框中,仿真參數(shù)設(shè)置被分為9個選項。11.3系統(tǒng)的仿真11.3.1設(shè)置仿真參數(shù)11.3系統(tǒng)的仿真131.Solver選項設(shè)置在對話框左邊的樹型結(jié)構(gòu)中單擊Solver選項,在右邊的窗口中會列出所有Solver選項。(1)設(shè)置仿真起始和停止時間(Simulinktime)。(2)仿真算法的選擇(Solveroptions)。1.Solver選項設(shè)置142.DataImport/Export選項設(shè)置在仿真參數(shù)對話框中選擇DataImport/Export選項,會出現(xiàn)一個對話框。相應(yīng)的選項設(shè)置分為3組:Loadfromworkspace、Savetoworkspace和Saveoptions。(1)從工作空間中載入數(shù)據(jù)(Loadfromworkspace)。(2)保存到工作空間(Savetoworkspace)。(3)保存選項(Saveoptions)。
2.DataImport/Export選項設(shè)置1511.3.2啟動系統(tǒng)仿真與仿真結(jié)果分析設(shè)置完仿真參數(shù)之后,從Simulation中選擇Start菜單項或單擊模型編輯窗口中的StartSimulation命令按鈕,便可啟動對當(dāng)前模型的仿真。此時,Start菜單項變成不可選,而Stop菜單項變成可選,以供中途停止仿真使用。從Simulation菜單中選擇Stop項停止仿真后,Start項又變成可選。11.3.2啟動系統(tǒng)仿真與仿真結(jié)果分析16為了觀察仿真結(jié)果的變化軌跡可以采用3種方法:(1)把輸出結(jié)果送給Scope模塊或者XYGraph模塊。(2)把仿真結(jié)果送到輸出端口并作為返回變量,然后使用MATLAB命令畫出該變量的變化曲線。(3)把輸出結(jié)果送到ToWorkspace模塊,從而將結(jié)果直接存入工作空間,然后用MATLAB命令畫出該變量的變化曲線。為了觀察仿真結(jié)果的變化軌跡可以采用3種方法:17例11-2利用Simulink仿真曲線。仿真過程如下:(1)啟動Simulink并打開模型編輯窗口。(2)將所需模塊添加到模型中。(3)設(shè)置模塊參數(shù)并連接各個模塊組成仿真模型。設(shè)置模塊參數(shù)后,用連線將各個模塊連接起來組成仿真模型。(4)設(shè)置系統(tǒng)仿真參數(shù)。(5)開始系統(tǒng)仿真。(6)觀察仿真結(jié)果。例11-2利用Simulink仿真曲線。18例11-3利用Simulink仿真求定積分。仿真過程如下:(1)打開一個模型編輯窗口。(2)將所需模塊添加到模型中。(3)設(shè)置模塊參數(shù)并連接各個模塊組成仿真模型。(4)設(shè)置系統(tǒng)仿真參數(shù)。(5)開始系統(tǒng)仿真。(6)觀察仿真結(jié)果。例11-3利用Simulink仿真求定積分。1911.3.3系統(tǒng)仿真實例至此,可以總結(jié)出利用Simulink進行系統(tǒng)仿真的步驟:(1)建立系統(tǒng)仿真模型,這包括添加模塊、設(shè)置模塊參數(shù)以及進行模塊連接等操作。(2)設(shè)置仿真參數(shù)。(3)啟動仿真并分析仿真結(jié)果。11.3.3系統(tǒng)仿真實例20例11-4有初始狀態(tài)為0的二階微分方程x"+0.2x'+0.4x=0.2u(t),其中u(t)是單位階躍函數(shù),試建立系統(tǒng)模型并仿真。方法1:用積分器直接構(gòu)造求解微分方程的模型。方法2:利用傳遞函數(shù)模塊建模。方法3:利用狀態(tài)方程模塊建模。例11-4有初始狀態(tài)為0的二階微分方程x"+0.2x'+2111.4使用命令操作對系統(tǒng)進行仿真從命令窗口運行仿真的函數(shù)有4個,即sim、simset、simget和set_param。1.sim函數(shù)sim函數(shù)的作用是運行一個由Simulink建立的模型,其調(diào)用格式為:[t,x,y]=sim(modname,timespan,options,data);11.4使用命令操作對系統(tǒng)進行仿真222.simset函數(shù)simset函數(shù)用來為sim函數(shù)建立或編輯仿真參數(shù)或規(guī)定算法,并把設(shè)置結(jié)果保存在一個結(jié)構(gòu)變量中。它有如下4種用法:(1)options=simset(property,value,…):把property代表的參數(shù)賦值為value,結(jié)果保存在結(jié)構(gòu)options中。(2)options=simset(old_opstruct,property,value,…):把已有的結(jié)構(gòu)old_opstruct(由simset產(chǎn)生)中的參數(shù)property重新賦值為value,結(jié)果保存在新結(jié)構(gòu)options中。(3)options=simset(old_opstruct,new_opstruct):用結(jié)構(gòu)new_opstruct的值替代已經(jīng)存在的結(jié)構(gòu)old_opstruct的值。(4)simset:顯示所有的參數(shù)名和它們可能的值。2.simset函數(shù)233.simget函數(shù)simget函數(shù)用來獲得模型的參數(shù)設(shè)置值。如果參數(shù)值是用一個變量名定義的,simget返回的也是該變量的值而不是變量名。如果該變量在工作空間中不存在(即變量未被賦值),則Simulink給出一個出錯信息。3.simget函數(shù)24該函數(shù)有如下3種用法:(1)struct=simget(modname):返回指定模型model的參數(shù)設(shè)置的options結(jié)構(gòu)。(2)value=simget(modname,property):返回指定模型model的參數(shù)property的值。(3)value=simget(options,property):獲取options結(jié)構(gòu)中的參數(shù)property的值。如果在該結(jié)構(gòu)中未指定該參數(shù),則返回一個空陣。該函數(shù)有如下3種用法:254.set_param函數(shù)set_param函數(shù)的功能很多,這里只介紹如何用set_param函數(shù)設(shè)置Simulink仿真參數(shù)以及如何開始、暫停、終止仿真進程或者更新顯示一個仿真模型。4.set_param函數(shù)26(1)設(shè)置仿真參數(shù)調(diào)用格式為:set_param(modname,property,value,…)其中modname為設(shè)置的模型名,property為要設(shè)置的參數(shù),value是設(shè)置值。這里設(shè)置的參數(shù)可以有很多種,而且和用simset設(shè)置的內(nèi)容不盡相同,相關(guān)參數(shù)的設(shè)置可以參考有關(guān)資料。(1)設(shè)置仿真參數(shù)27(2)控制仿真進程調(diào)用格式為:set_param(modname,'SimulationCommand','cmd')其中mode為仿真模型名稱,而cmd是控制仿真進程的各個命令,包括start、stop、pause、comtinue或update。在使用這兩個函數(shù)的時候,需要注意必須先把模型打開。(2)控制仿真進程2811.5子系統(tǒng)及其封裝技術(shù)11.5.1子系統(tǒng)的建立建立子系統(tǒng)有兩種方法:通過Subsystem模塊建立子系統(tǒng)和通過已有的模塊建立子系統(tǒng)。兩者的區(qū)別是:前者先建立子系統(tǒng),再為其添加功能模塊;后者先選擇模塊,再建立子系統(tǒng)。11.5子系統(tǒng)及其封裝技術(shù)291.通過Subsystem模塊建立子系統(tǒng)操作步驟為:(1)先打開Simulink模塊庫瀏覽器,新建一個仿真模型。(2)打開Simulink模塊庫中的Ports&Subsystems模塊庫,將Subsystem模塊添加到模型編輯窗口中。(3)雙擊Subsystem模塊打開一個空白的Subsystem窗口,將要組合的模塊添加到該窗口中,另外還要根據(jù)需要添加輸入模塊和輸出模塊,表示子系統(tǒng)的輸入端口和輸出端口。這樣,一個子系統(tǒng)就建好了。1.通過Subsystem模塊建立子系統(tǒng)302.通過已有的模塊建立子系統(tǒng)操作步驟為:(1)先選擇要建立子系統(tǒng)的模塊,不包括輸入端口和輸出端口。(2)選擇模型編輯窗口Edit菜單中的CreateSubsystem命令,這樣,子系統(tǒng)就建好了。在這種情況下,系統(tǒng)會自動把輸入模塊和輸出模塊添加到子系統(tǒng)中,并把原來的模塊變?yōu)樽酉到y(tǒng)的圖標。2.通過已有的模塊建立子系統(tǒng)31例11-5PID控制器是在自動控制中經(jīng)常使用的模塊,試建立PID控制器的模型并建立子系統(tǒng)。步驟如下:(1)先建立PID控制器的模型。(2)建立子系統(tǒng)。例11-5PID控制器是在自動控制中經(jīng)常使用的模塊,試建3211.5.2子系統(tǒng)的條件執(zhí)行1.使能子系統(tǒng)建立使能子系統(tǒng)的方法是:打開Simulink模塊庫中的Ports&Subsystems模塊庫,將Enable模塊復(fù)制到子系統(tǒng)模型中,則系統(tǒng)的圖標發(fā)生了變化。11.5.2子系統(tǒng)的條件執(zhí)行33例11-6利用使能子系統(tǒng)構(gòu)成一個正弦半波整流器。操作步驟如下:(1)打開Simulink模塊庫瀏覽器并新建一個仿真模型。(2)將SineWave、EnabledSubsystem、Scope3個模塊拖至新打開的模型編輯窗口,連接各模塊并存盤。其中使能信號端接SineWave模塊。為了便于比較,除顯示半波整流波形外,還顯示正弦波,故在示波器屬性窗口將Numberofaxes設(shè)置為2。使能子系統(tǒng)建立好后,可對Enable模塊進行參數(shù)設(shè)置。(3)選擇Simulink菜單中的Start命令,就可看到半波整流波形和正弦波形。例11-6利用使能子系統(tǒng)構(gòu)成一個正弦半波整流器。342.觸發(fā)子系統(tǒng)觸發(fā)子系統(tǒng)是指當(dāng)觸發(fā)事件發(fā)生時開始執(zhí)行子系統(tǒng)。與使能子系統(tǒng)相類似,觸發(fā)子系統(tǒng)的建立要把Ports&Subsystems模塊庫中的Trigger模塊添加到子系統(tǒng)中或直接選擇TriggeredSubsystem模塊來建立觸發(fā)子系統(tǒng)。2.觸發(fā)子系統(tǒng)35例11-7利用觸發(fā)子系統(tǒng)將一鋸齒波轉(zhuǎn)換成方波。操作步驟如下:(1)用SignalGenerator、TriggeredSubsystem和Scope模塊構(gòu)成子系統(tǒng)。(2)選擇Simulink菜單中的Start命令,就可看到波形。例11-7利用觸發(fā)子系統(tǒng)將一鋸齒波轉(zhuǎn)換成方波。363.使能加觸發(fā)子系統(tǒng)所謂使能加觸發(fā)子系統(tǒng)就是把Enable和Tirgger模塊都加到子系統(tǒng)中,使能控制信號和觸發(fā)控制信號共同作用子系統(tǒng)的執(zhí)行,也就是前兩種子系統(tǒng)的綜合。該系統(tǒng)的行為方式與觸發(fā)子系統(tǒng)相似,但只有當(dāng)使能信號為正時,觸發(fā)事件才起作用。3.使能加觸發(fā)子系統(tǒng)37
11.5.3子系統(tǒng)的封裝所謂子系統(tǒng)的封裝(Masking),就是為子系統(tǒng)定制對話框和圖標,使子系統(tǒng)本身有一個獨立的操作界面,把子系統(tǒng)中的各模塊的參數(shù)對話框合成一個參數(shù)設(shè)置對話框,在使用時不必打開每個模塊進行參數(shù)設(shè)置,這樣使子系統(tǒng)的使用更加方便。11.5.3子系統(tǒng)的封裝38
子系統(tǒng)的封裝過程很簡單,先選中所要封裝的子系統(tǒng),再選擇模型編輯窗口Edit菜單中的Masksubsystem命令,這時將出現(xiàn)封裝編輯器(MaskEditor)對話框。MaskEditor對話框中共包括4個選項卡:Icon、Parameters、Initialization和Documentation。子系統(tǒng)的封裝主要就是對這4頁參數(shù)進行設(shè)置。子系統(tǒng)的封裝過程很簡單,先選中所要封裝的子系統(tǒng),再選擇模型3911.6S函數(shù)的設(shè)計與應(yīng)用S函數(shù)稱為系統(tǒng)函數(shù)(SystemFunction),它有固定的程序格式。用MATLAB語言可以編寫S函數(shù),此外還可以采用C、C++、FORTRAN和Ada等語言編寫。11.6S函數(shù)的設(shè)計與應(yīng)用4011.6.1用MATLAB語言編寫S函數(shù)編寫S函數(shù)有一套固定的規(guī)則,為此,Simulink提供了一個用M文件編寫S函數(shù)的模板。該模板程序存放在toolbox\simulink\blocks目錄下,文件名為sfuntmpl.m。用戶可以從這個模板出發(fā)構(gòu)建自己的S函數(shù)。11.6.1用MATLAB語言編寫S函數(shù)411.主程序S函數(shù)主程序的引導(dǎo)語句為:function[sys,x0,str,ts]=fname(t,x,u,flag)2.子程序S函數(shù)M文件共有6個子程序,供Simulink在仿真的不同階段調(diào)用。1.主程序4211.6.2S函數(shù)的應(yīng)用例11-8采用S函數(shù)實現(xiàn)模塊y=nx,即模塊的功能是把一個輸入信號n倍以后再輸出。(1)利用MATLAB語言M文件。(2)模塊的封裝與測試。11.6.2S函數(shù)的應(yīng)用43演講完畢,謝謝觀看!演講完畢,謝謝觀看!44MATLAB程序設(shè)計教程(第二版)劉衛(wèi)國主編
中國水利水電出版社MATLAB程序設(shè)計教程(第二版)劉衛(wèi)國主編45第11章SIMULINK動態(tài)仿真集成環(huán)境Simulink操作基礎(chǔ)MATLAB系統(tǒng)仿真模型MATLAB系統(tǒng)的仿真使用命令操作對系統(tǒng)進行仿真MATLAB子系統(tǒng)及其封裝技術(shù)S函數(shù)的設(shè)計與應(yīng)用第11章SIMULINK動態(tài)仿真集成環(huán)境Simulin4611.1.1Simulink簡介Simulink是MATLAB的重要組成部分,提供建立系統(tǒng)模型、選擇仿真參數(shù)和數(shù)值算法、啟動仿真程序?qū)υ撓到y(tǒng)進行仿真、設(shè)置不同的輸出方式來觀察仿真結(jié)果等功能。11.1Simulink操作基礎(chǔ)11.1.1Simulink簡介11.1Simul4711.1.2Simulink的啟動與退出1.Simulink的啟動在MATLAB的命令窗口輸入simulink或單擊MATLAB主窗口工具欄上的Simulink命令按鈕即可啟動Simulink。Simulink啟動后會顯示Simulink模塊庫瀏覽器(SimulinkLibraryBrowser)窗口。11.1.2Simulink的啟動與退出48在啟動Simulink模塊庫瀏覽器后再單擊其工具欄中的Newmodel命令按鈕,會彈出名字為untitled的模型編輯窗口。在MATLAB主菜單中,選擇File菜單中New菜單項的Model命令,也可打開模型編輯窗口。利用模型編輯窗口,可以通過鼠標的拖放操作創(chuàng)建一個模型。
在啟動Simulink模塊庫瀏覽器后再單擊其工具欄中的New492.Simulink的退出為了退出Simulink,只要關(guān)閉所有模型編輯窗口和Simulink模塊庫瀏覽器窗口即可。2.Simulink的退出5011.2系統(tǒng)仿真模型11.2.1Simulink的基本模塊Simulink的模塊庫提供了大量模塊。單擊模塊庫瀏覽器中Simulink前面的“+”號,將看到Simulink模塊庫中包含的子模塊庫,單擊所需要的子模塊庫,在右邊的窗口中將看到相應(yīng)的基本模塊,選擇所需基本模塊,可用鼠標將其拖到模型編輯窗口。同樣,在模塊庫瀏覽器左側(cè)的Simulink欄上單擊鼠標右鍵,在彈出的快捷菜單中單擊Openthe‘Simulink’Libray命令,將打開Simulink基本模塊庫窗口。單擊其中的子模塊庫圖標,打開子模塊庫,找到仿真所需要的基本模塊。11.2系統(tǒng)仿真模型5111.2.2模塊的編輯1.添加模塊2.選取模塊3.復(fù)制與刪除模塊4.模塊外形的調(diào)整5.模塊名的處理11.2.2模塊的編輯5211.2.3模塊的連接1.連接兩個模塊2.模塊間連線的調(diào)整3.連線的分支4.標注連線5.刪除連線11.2.3模塊的連接5311.2.4模塊的參數(shù)和屬性設(shè)置1.模塊的參數(shù)設(shè)置Simulink中幾乎所有模塊的參數(shù)都允許用戶進行設(shè)置,只要雙擊要設(shè)置的模塊或在模塊上按鼠標右鍵并在彈出的快捷菜單中選擇相應(yīng)模塊的參數(shù)設(shè)置命令就會彈出模塊參數(shù)對話框。該對話框分為兩部分,上面一部分是模塊功能說明,下面一部分用來進行模塊參數(shù)設(shè)置。同樣,先選擇要設(shè)置的模塊,再在模型編輯窗口Edit菜單下選擇相應(yīng)模塊的參數(shù)設(shè)置命令也可以打開模塊參數(shù)對話框。11.2.4模塊的參數(shù)和屬性設(shè)置542.模塊的屬性設(shè)置選定要設(shè)置屬性的模塊,然后在模塊上按鼠標右鍵并在彈出的快捷菜單中選擇Blockproperties,或先選擇要設(shè)置的模塊,再在模型編輯窗口的Edit菜單下選擇Blockproperties命令,將打開模塊屬性對話框。該對話框包括General、Blockannotation和Callbacks3個可以相互切換的選項卡。其中選項卡中可以設(shè)置3個基本屬性:Description(說明)、Priority(優(yōu)先級)、Tag(標記)。2.模塊的屬性設(shè)置55例11-1有系統(tǒng)的微分方程,試建立系統(tǒng)仿真模型。操作過程如下:(1)在MATLAB主菜單中,選擇File菜單中New菜單項的Model命令,打開一個模型編輯窗口。(2)將所需模塊添加到模型中。(3)設(shè)置模塊參數(shù)并連接各個模塊組成仿真模型。設(shè)置模塊參數(shù)后,用連線將各個模塊連接起來組成系統(tǒng)仿真模型。模型建好后,從模型編輯窗口的File菜單中選擇Save或Saveas命令將它存盤。例11-1有系統(tǒng)的微分方程,試建立系統(tǒng)仿真模型。5611.3.1設(shè)置仿真參數(shù)在系統(tǒng)仿真過程中,事先必須對仿真算法、輸出模式等各種仿真參數(shù)進行設(shè)置。其方法是:打開系統(tǒng)仿真模型,從模型編輯窗口的Simulation菜單中選擇ConfigurationParameters命令,打開一個仿真參數(shù)對話框,在其中可以設(shè)置仿真參數(shù)。在此對話框中,仿真參數(shù)設(shè)置被分為9個選項。11.3系統(tǒng)的仿真11.3.1設(shè)置仿真參數(shù)11.3系統(tǒng)的仿真571.Solver選項設(shè)置在對話框左邊的樹型結(jié)構(gòu)中單擊Solver選項,在右邊的窗口中會列出所有Solver選項。(1)設(shè)置仿真起始和停止時間(Simulinktime)。(2)仿真算法的選擇(Solveroptions)。1.Solver選項設(shè)置582.DataImport/Export選項設(shè)置在仿真參數(shù)對話框中選擇DataImport/Export選項,會出現(xiàn)一個對話框。相應(yīng)的選項設(shè)置分為3組:Loadfromworkspace、Savetoworkspace和Saveoptions。(1)從工作空間中載入數(shù)據(jù)(Loadfromworkspace)。(2)保存到工作空間(Savetoworkspace)。(3)保存選項(Saveoptions)。
2.DataImport/Export選項設(shè)置5911.3.2啟動系統(tǒng)仿真與仿真結(jié)果分析設(shè)置完仿真參數(shù)之后,從Simulation中選擇Start菜單項或單擊模型編輯窗口中的StartSimulation命令按鈕,便可啟動對當(dāng)前模型的仿真。此時,Start菜單項變成不可選,而Stop菜單項變成可選,以供中途停止仿真使用。從Simulation菜單中選擇Stop項停止仿真后,Start項又變成可選。11.3.2啟動系統(tǒng)仿真與仿真結(jié)果分析60為了觀察仿真結(jié)果的變化軌跡可以采用3種方法:(1)把輸出結(jié)果送給Scope模塊或者XYGraph模塊。(2)把仿真結(jié)果送到輸出端口并作為返回變量,然后使用MATLAB命令畫出該變量的變化曲線。(3)把輸出結(jié)果送到ToWorkspace模塊,從而將結(jié)果直接存入工作空間,然后用MATLAB命令畫出該變量的變化曲線。為了觀察仿真結(jié)果的變化軌跡可以采用3種方法:61例11-2利用Simulink仿真曲線。仿真過程如下:(1)啟動Simulink并打開模型編輯窗口。(2)將所需模塊添加到模型中。(3)設(shè)置模塊參數(shù)并連接各個模塊組成仿真模型。設(shè)置模塊參數(shù)后,用連線將各個模塊連接起來組成仿真模型。(4)設(shè)置系統(tǒng)仿真參數(shù)。(5)開始系統(tǒng)仿真。(6)觀察仿真結(jié)果。例11-2利用Simulink仿真曲線。62例11-3利用Simulink仿真求定積分。仿真過程如下:(1)打開一個模型編輯窗口。(2)將所需模塊添加到模型中。(3)設(shè)置模塊參數(shù)并連接各個模塊組成仿真模型。(4)設(shè)置系統(tǒng)仿真參數(shù)。(5)開始系統(tǒng)仿真。(6)觀察仿真結(jié)果。例11-3利用Simulink仿真求定積分。6311.3.3系統(tǒng)仿真實例至此,可以總結(jié)出利用Simulink進行系統(tǒng)仿真的步驟:(1)建立系統(tǒng)仿真模型,這包括添加模塊、設(shè)置模塊參數(shù)以及進行模塊連接等操作。(2)設(shè)置仿真參數(shù)。(3)啟動仿真并分析仿真結(jié)果。11.3.3系統(tǒng)仿真實例64例11-4有初始狀態(tài)為0的二階微分方程x"+0.2x'+0.4x=0.2u(t),其中u(t)是單位階躍函數(shù),試建立系統(tǒng)模型并仿真。方法1:用積分器直接構(gòu)造求解微分方程的模型。方法2:利用傳遞函數(shù)模塊建模。方法3:利用狀態(tài)方程模塊建模。例11-4有初始狀態(tài)為0的二階微分方程x"+0.2x'+6511.4使用命令操作對系統(tǒng)進行仿真從命令窗口運行仿真的函數(shù)有4個,即sim、simset、simget和set_param。1.sim函數(shù)sim函數(shù)的作用是運行一個由Simulink建立的模型,其調(diào)用格式為:[t,x,y]=sim(modname,timespan,options,data);11.4使用命令操作對系統(tǒng)進行仿真662.simset函數(shù)simset函數(shù)用來為sim函數(shù)建立或編輯仿真參數(shù)或規(guī)定算法,并把設(shè)置結(jié)果保存在一個結(jié)構(gòu)變量中。它有如下4種用法:(1)options=simset(property,value,…):把property代表的參數(shù)賦值為value,結(jié)果保存在結(jié)構(gòu)options中。(2)options=simset(old_opstruct,property,value,…):把已有的結(jié)構(gòu)old_opstruct(由simset產(chǎn)生)中的參數(shù)property重新賦值為value,結(jié)果保存在新結(jié)構(gòu)options中。(3)options=simset(old_opstruct,new_opstruct):用結(jié)構(gòu)new_opstruct的值替代已經(jīng)存在的結(jié)構(gòu)old_opstruct的值。(4)simset:顯示所有的參數(shù)名和它們可能的值。2.simset函數(shù)673.simget函數(shù)simget函數(shù)用來獲得模型的參數(shù)設(shè)置值。如果參數(shù)值是用一個變量名定義的,simget返回的也是該變量的值而不是變量名。如果該變量在工作空間中不存在(即變量未被賦值),則Simulink給出一個出錯信息。3.simget函數(shù)68該函數(shù)有如下3種用法:(1)struct=simget(modname):返回指定模型model的參數(shù)設(shè)置的options結(jié)構(gòu)。(2)value=simget(modname,property):返回指定模型model的參數(shù)property的值。(3)value=simget(options,property):獲取options結(jié)構(gòu)中的參數(shù)property的值。如果在該結(jié)構(gòu)中未指定該參數(shù),則返回一個空陣。該函數(shù)有如下3種用法:694.set_param函數(shù)set_param函數(shù)的功能很多,這里只介紹如何用set_param函數(shù)設(shè)置Simulink仿真參數(shù)以及如何開始、暫停、終止仿真進程或者更新顯示一個仿真模型。4.set_param函數(shù)70(1)設(shè)置仿真參數(shù)調(diào)用格式為:set_param(modname,property,value,…)其中modname為設(shè)置的模型名,property為要設(shè)置的參數(shù),value是設(shè)置值。這里設(shè)置的參數(shù)可以有很多種,而且和用simset設(shè)置的內(nèi)容不盡相同,相關(guān)參數(shù)的設(shè)置可以參考有關(guān)資料。(1)設(shè)置仿真參數(shù)71(2)控制仿真進程調(diào)用格式為:set_param(modname,'SimulationCommand','cmd')其中mode為仿真模型名稱,而cmd是控制仿真進程的各個命令,包括start、stop、pause、comtinue或update。在使用這兩個函數(shù)的時候,需要注意必須先把模型打開。(2)控制仿真進程7211.5子系統(tǒng)及其封裝技術(shù)11.5.1子系統(tǒng)的建立建立子系統(tǒng)有兩種方法:通過Subsystem模塊建立子系統(tǒng)和通過已有的模塊建立子系統(tǒng)。兩者的區(qū)別是:前者先建立子系統(tǒng),再為其添加功能模塊;后者先選擇模塊,再建立子系統(tǒng)。11.5子系統(tǒng)及其封裝技術(shù)731.通過Subsystem模塊建立子系統(tǒng)操作步驟為:(1)先打開Simulink模塊庫瀏覽器,新建一個仿真模型。(2)打開Simulink模塊庫中的Ports&Subsystems模塊庫,將Subsystem模塊添加到模型編輯窗口中。(3)雙擊Subsystem模塊打開一個空白的Subsystem窗口,將要組合的模塊添加到該窗口中,另外還要根據(jù)需要添加輸入模塊和輸出模塊,表示子系統(tǒng)的輸入端口和輸出端口。這樣,一個子系統(tǒng)就建好了。1.通過Subsystem模塊建立子系統(tǒng)742.通過已有的模塊建立子系統(tǒng)操作步驟為:(1)先選擇要建立子系統(tǒng)的模塊,不包括輸入端口和輸出端口。(2)選擇模型編輯窗口Edit菜單中的CreateSubsystem命令,這樣,子系統(tǒng)就建好了。在這種情況下,系統(tǒng)會自動把輸入模塊和輸出模塊添加到子系統(tǒng)中,并把原來的模塊變?yōu)樽酉到y(tǒng)的圖標。2.通過已有的模塊建立子系統(tǒng)75例11-5PID控制器是在自動控制中經(jīng)常使用的模塊,試建立PID控制器的模型并建立子系統(tǒng)。步驟如下:(1)先建立PID控制器的模型。(2)建立子系統(tǒng)。例11-5PID控制器是在自動控制中經(jīng)常使用的模塊,試建7611.5.2子系統(tǒng)的條件執(zhí)行1.使能子系統(tǒng)建立使能子系統(tǒng)的方法是:打開Simulink模塊庫中的Ports&Subsystems模塊庫,將Enable模塊復(fù)制到子系統(tǒng)模型中,則系統(tǒng)的圖標發(fā)生了變化。11.5.2子系統(tǒng)的條件執(zhí)行77例11-6利用使能子系統(tǒng)構(gòu)成一個正弦半波整流器。操作步驟如下:(1)打開Simulink模塊庫瀏覽器并新建一個仿真模型。(2)將SineWave、EnabledSubsystem、Scope3個模塊拖至新打開的模型編輯窗口,連接各模塊并存盤。其中使能信號端接SineWave模塊
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025北京市海淀區(qū)實驗小學(xué)教育集團招聘備考筆試題庫及答案解析
- 2026商丘工學(xué)院教師招聘備考筆試題庫及答案解析
- 2026年蕪湖無為市公安局專職人民調(diào)解員招聘28人備考筆試題庫及答案解析
- 2026云南紅河州水利局事業(yè)單位校園招聘2人模擬筆試試題及答案解析
- 2025年南昌農(nóng)商銀行中層管理崗位人員招聘備考題庫及1套參考答案詳解
- 2025年貴陽鋁鎂設(shè)計研究院有限公司公開招聘26人備考題庫及完整答案詳解一套
- 2025年撫州市司法局公開招聘行政復(fù)議輔助人員的備考題庫及一套參考答案詳解
- 語文八下閱讀題試卷及答案
- 2025年貴州關(guān)嶺自治縣縣域醫(yī)療次中心花江鎮(zhèn)衛(wèi)生院鄉(xiāng)村醫(yī)生招聘備考題庫附答案詳解
- 2025年五家渠市北海街消防救援站政府專職消防員第四季度第二批招錄8人備考題庫及答案詳解一套
- JG/T 254-2015建筑用遮陽軟卷簾
- TCNFPIA1003-2022采暖用人造板及其制品中甲醛釋放限量
- 大健康產(chǎn)業(yè)可行性研究報告
- 腸易激綜合征中西醫(yī)結(jié)合診療專家共識(2025)解讀課件
- 庫存周轉(zhuǎn)率提升計劃
- 護理部競聘副主任
- 《統(tǒng)計學(xué)-基于Excel》(第 4 版)課件 賈俊平 第5-9章 概率分布- 時間序列分析和預(yù)測
- 中國計量大學(xué)《文科數(shù)學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 中國普通食物營養(yǎng)成分表(修正版)
- 20道長鑫存儲設(shè)備工程師崗位常見面試問題含HR常問問題考察點及參考回答
- 抖音ip孵化合同范本
評論
0/150
提交評論