版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1第6章Simulink動態(tài)
仿真集成環(huán)境
本章內(nèi)容(1)
注意區(qū)分書中Simulink庫瀏覽窗口與Simulink模塊庫的區(qū)別;(2)
熟悉Simulink模塊庫和Simulink附加模塊庫中常用標準模塊的功能及其應(yīng)用;(3)
利用Simulink標準模塊在用戶模型窗口中建立控制系統(tǒng)仿真模型;(4)
熟悉利用Simulink進行系統(tǒng)仿真的兩種仿真方法:菜單法和行命令法;(5)
仿真算法和參數(shù)以及常用標準模塊參數(shù)的設(shè)置;(6)
仿真結(jié)果的三種處理方法,并注意輸出接口模塊(Out1)和將數(shù)據(jù)輸出到工作空間模塊(ToWorkspace)的不同用法及其利用它們輸出信號時的仿真參數(shù)的設(shè)置;(7)
利用MATLAB求解非線性系統(tǒng)的線性化模型;(8)
熟悉子系統(tǒng)的兩種建立方法:菜單法和模塊法,以及條件子系統(tǒng)的應(yīng)用(9)
模型封裝模板編輯器的參數(shù)設(shè)置及系統(tǒng)模型的封裝步驟。2Simulink為用戶提供了一個圖形化的用戶界面(GUI)。對于用方框圖所表示的系統(tǒng),通過Simulink圖形界面,利用鼠標點擊和拖拉方式,建立系統(tǒng)模型就像用鉛筆在紙上繪制系統(tǒng)的模型圖一樣簡單,它與用微分方程和差分方程建模的傳統(tǒng)仿真軟件包相比,具有更直觀、更方便、更靈活的優(yōu)點。它不但實現(xiàn)了可視化的動態(tài)仿真,也實現(xiàn)了與MATLAB、C或者FORTRAN甚至和硬件之間的數(shù)據(jù)傳遞,大大地擴展了它的功能。3Simulink是一個用來對動態(tài)系統(tǒng)進行建模、仿真和分析的軟件包。它支持連續(xù)、離散及兩者混合的線性和非線性系統(tǒng),同時它也支持具有不同部分擁有不同采樣率的多種采樣速度的系統(tǒng)仿真。6.1Simulink簡介46.1.1Simulink的啟動要啟動Simulink必須先啟動MATLAB。在MATLAB中,有三種方法啟動Simulink:
(1)在MATLAB操作界面的命令窗口中,直接鍵入simulink命令;
(2)在MATLAB6.x/7.x操作界面的工具欄中,單擊Simulink的快捷啟動按鈕“”;或在MATLAB8.x/9.x操作界面的主頁(HOME)中,單擊Simulink的快捷啟動按鈕“”或“”;
(3)在MATLAB6.x/7.x操作界面的左下角“Start”菜單中,單擊“Simulink”子菜單中的“LibraryBrowser”選項。5
利用MATLAB6.x/7.x/8.x啟動Simulink后,啟動Simulink后,便可顯示如圖6-1所示的Simulink庫瀏覽窗口(SimulinkLibraryBrowser)。圖6-1Simulink模塊庫瀏覽窗口
窗口左邊列出了該系統(tǒng)中所有安裝的一個樹狀結(jié)構(gòu)的仿真模塊集或工具箱,同時右邊顯示當(dāng)前左邊所選仿真模塊集或工具箱中所包含的標準模塊庫。6
但利用MATLAB9.x啟動Simulink后,首先出現(xiàn)如圖6-2所示SimulinkStartPage窗口。圖6-2MATLAB9.x的SimulinkStartPage頁面7
單擊圖6-2所示窗口中New頁面下Simulink選項里的BlankModel或BlankLibrary后,得到如圖6-3所示的Simulink空白模型窗口。再單擊空白模型窗口中的快捷按鈕“
”,便可顯示類似圖6-1所示的Simulink庫瀏覽窗口(SimulinkLibraryBrowser)。
(a)較低版本(b)較高版本圖6-3MATLAB9.x的Simulink空白模型窗口8MATLAB6.x/7.x/8.x中的Simulink庫瀏覽窗口由功能菜單、工具欄和模塊集或工具箱三大部分組成。但MATLAB9.x中的Simulink庫瀏覽窗口僅由工具欄和模塊集或工具箱兩大部分組成。創(chuàng)建系統(tǒng)模型時,將從這些仿真模塊集或工具箱中利用鼠標復(fù)制標準模塊到用戶模型編輯窗口中。
9
盡管MATLAB最新版本的Simulink庫內(nèi)容有所增加,但對于本課程涉及的內(nèi)容沒有太大影響,再加上最新版本安裝程序大、啟動和運行速度較慢。故本書以下仍以目前流行的經(jīng)典版本MATLAB7.5(R2007b)中的Simulink庫為基礎(chǔ)來進行敘述。106.1.2Simulink庫瀏覽窗口的功能菜單為了充分利用仿真模塊庫(集)中的標準模塊對控制系統(tǒng)進行有效的動態(tài)仿真,在MATLAB6.x/7.x/8.x的Simulink庫瀏覽窗口中設(shè)計了以下各個功能菜單。*File文件操作菜單
New新建用戶模型編輯窗口/模塊庫窗口
Open打開用戶模型編輯窗口
Close關(guān)閉用戶模型編輯窗口
Preferences參數(shù)選擇*Edit編輯菜單
Addtothecurrentmodel增加到當(dāng)前用戶模型編輯窗口中
Findblock查找模塊
Findnewblock查找新模塊11*View查看菜單
Toolbar顯示/關(guān)閉工具條開關(guān)
Statusbar顯示/關(guān)閉狀態(tài)條開關(guān)
Description顯示/關(guān)閉描述窗口開關(guān)
Stayontop位于上層
Collapseentirebrowser壓縮整個樹狀結(jié)構(gòu)
Expandentirebrowser展開整個樹狀結(jié)構(gòu)
Largeicons大圖標
Smallicons小圖標
Showparametersforselectedblock顯示所選模塊參數(shù)*Help幫助菜單12
但在MATLAB9.x的Simulink庫瀏覽窗口中取消了以上各個功能菜單,而在其模塊集、標準模塊庫和用戶模型窗口中增加了很多功能菜單(如Display、Diagram和Analysis等)、快捷按鈕(如
等)和頁面(如SIMULATION、DEBUG、MODELING、FORMAT、APPS/APP)。
Simulink庫瀏覽窗口工具欄中的四個按鈕“
”或“”分別用來快捷創(chuàng)建一個新用戶模型編輯窗口(Createanewmodel)、打開一個模型(Openamodel)、位于上層(StayonTop)和查找模塊(FindBlock)。136.1.3仿真模塊庫(集)
在Simulink庫瀏覽窗口中,包含了由眾多領(lǐng)域著名專家與學(xué)者以MATLAB為基礎(chǔ)開發(fā)的大量實用模塊集或工具箱,本書限于篇幅,僅介紹與動態(tài)仿真Simulink有關(guān)的幾種模塊集。1.Simulink模塊集(Simulink)在Simulink庫瀏覽窗口的Simulink節(jié)點上,通過單擊鼠標右鍵后,便可打開如圖6-4所示的Simulink模塊集窗口14
Simulink模塊庫由標題、功能菜單和標準模塊庫三部分組成。
圖6-415(1)信號源模塊庫(Sources)Sources庫中所包含的各個標準模塊及其功能如圖6-5和表6-1所示。1)Simulink的標準模塊庫16(2)接收模塊庫(Sinks)Sinks庫中所包含的各個標準模塊及其功能如圖6-6和表6-2所示。17(3)連續(xù)系統(tǒng)模塊庫(Continuous)Continuous庫中所包含的各個標準模塊及其功能如圖6-7和表6-3所示。18(4)離散系統(tǒng)模塊庫(Discrete)Discrete庫中所包含的各個標準模塊及其功能如圖6-8和表6-4所示。19(5)非連續(xù)系統(tǒng)模塊庫(Discontinuities)
Discontinuities庫中所包含的各個標準模塊及其功能如圖6-9和表6-5所示。20(6)信號路由模塊庫(SignalRouting)SignalRouting庫中所包含的各個標準模塊及其功能如圖6-10和表6-6所示。21(7)信號屬性模塊庫(SignalAttributes)SignalAttributes庫中所包含的各個標準模塊及其功能如圖6-11和表6-7所示。22(8)數(shù)學(xué)運算模塊庫(MathOperations)MathOperations庫中所包含的各個標準模塊及其功能如圖6-12和表6-8所示。23(9)邏輯和位操作模塊庫(LogicandBitOperations)LogicandBitOperations庫中所包含的各個標準模塊及其功能如圖6-13和表6-9所示。24(10)查表模塊庫(LookupTables)LookupTables庫中所包含的各個標準模塊及其功能如圖6-14和表6-10所示。25(11)用戶自定義函數(shù)模塊庫(User-DefinedFunctions)User-DefinedFunctions庫中所包含的各個標準模塊及其功能如圖6-15和表6-11所示。26(12)模型檢測模塊庫(ModelVerification)ModelVerification庫中所包含的各個標準模塊及其功能如圖6-16和表6-12所示。27(13)端口與子系統(tǒng)模塊庫(Ports&Subsystems)Ports&Subsystems庫中所包含的各個標準模塊及其功能如圖6-17和表6-13所示。28(14)模型擴展功能模塊庫(Model-WideUtilities)Model-WideUtilities庫中所包含的各個標準模塊及其功能如圖6-18和表6-14所示。29(15)模塊集和工具箱(Blocksets&Toolboxes)Blocksets&Toolboxes中所包含的模塊集和工具箱如圖6-19所示。30(16)常用模塊庫(CommonlyUsedBlocks)CommonlyUsedBlocks庫中所包含的各個標準模塊如圖6-20所示。31(17)附加數(shù)學(xué)與離散模塊庫(AdditionalMath&Discrete)在AdditionalMath&Discrete庫中包含了兩個標準模塊庫:附加數(shù)學(xué)庫(AdditionalMath)和附加離散庫(AdditionalDiscrete)。322)Simulink模塊集的功能菜單為了充分利用Simulink中的各個標準模塊對控制系統(tǒng)進行有效的動態(tài)仿真,Simulink模塊集中設(shè)計了以下各個功能菜單。
*File文件操作菜單
*Edit編輯菜單
*View查看菜單
*Help幫助菜單33*File文件操作菜單
New新建模型編輯窗口/模塊庫窗口
Open打開模型文件
Close關(guān)閉模型文件
Save保存模型文件
Saveas另存模型文件
Sourecontrol來源控制
Modelproperties模型屬性
Preferences參數(shù)選擇
Print打印
Printersetup打印設(shè)置
ExitMATLAB退出MATLAB34*Edit編輯菜單
Can’tundo不能撤消
Can’tredo不能重復(fù)
Cut剪切
Copy復(fù)制
Paste粘貼
Clear清除
SelectAll全部選定
Copymodeltoclipboard復(fù)制模型到剪切板
Find查找
Createsubsystem創(chuàng)建子系統(tǒng)
Masksubsystem封裝子系統(tǒng)
Lookundermask查看封裝子系統(tǒng)
Linkoptions連接選項
Unlocklibrary解鎖庫
Updatediagram更新圖標35*View查看菜單
Gotoparent轉(zhuǎn)到根
Toolbar顯示/關(guān)閉工具條開關(guān)
Statusbar顯示/關(guān)閉狀態(tài)條開關(guān)
Modelbrowseroptions模型瀏覽器選項
Blockdatatipsoptions模塊信息選項
Showlibrarybrowser顯示庫瀏覽器
Zoomin放大模塊視圖
Zoomout縮小模塊視圖
Fitsystemtoview將框圖縮放到正好符合窗口的大小
Normal顯示框圖的實際大小*Help幫助菜單36
關(guān)于某些菜單的進一步操作方法在后面的有關(guān)部分中將陸續(xù)詳細介紹。另外,當(dāng)在一個模型或模塊庫窗口上單擊鼠標右鍵時,也會顯示前后相關(guān)的菜單。菜單的內(nèi)容取決于是否選中模塊,如果選中模塊,菜單顯示的命令僅僅適用于所選模塊,否則,菜單顯示的命令作用于整個模型或模塊庫。372.Simulink附加模塊集(SimulinkExtras)在Simulink庫瀏覽窗口的SimulinkExtras節(jié)點上,通過單擊鼠標右鍵后,便可打開如圖6-23所示的SimulinkExtras模塊集窗口。38
在SimulinkExtras模塊集中附加了以下一些模塊庫,用鼠標的左鍵雙擊各個模塊庫的圖標,便可打開相應(yīng)的模塊庫,各模塊庫中所包含各個標準模塊的功能如下所示。*附加接收模塊庫(AdditionalSinks)*附加離散系統(tǒng)模塊庫(AdditionalDiscrete)*附加線性模塊庫(AdditionalLinear)PIDController--PID控制器模塊
PIDController(WithApproximateDerivative)--具有實際微分的PID控制器模塊*轉(zhuǎn)換庫(Transformations)*觸發(fā)器庫(FilpFlops)*線性化庫(Linearization)393.Simulink響應(yīng)優(yōu)化模塊集(SimulinkResponseOptimization)(MATLAB7.5)
在Simulink庫瀏覽窗口的SimulinkResponseOptimization節(jié)點上,通過單擊鼠標右鍵后,便可打開如圖6-24所示的SimulinkResponseOptimization模塊集窗口。404.電力系統(tǒng)模塊集(SimPowerSystems)
在Simulink庫瀏覽窗口的SimPowerSystems節(jié)點上,通過單擊鼠標右鍵后,便可打開如圖6-25所示的電力系統(tǒng)模塊集(SimPowerSystems)窗口。圖6-25SimPowerSystems窗口41
在SimPowerSystems中提供了電力傳輸和拖動控制中用到的各種元器件模型,它包含在以下7類模塊庫中,用鼠標的左鍵雙擊各個模塊庫的圖標,便可打開相應(yīng)的模塊庫,各模塊庫中所包含各個標準模塊的功能如下所示。42(1)電源模塊庫(ElectricalSources)
43(2)元件模塊庫(Elements)
44(3)電力電子模塊庫(PowerElectronics)
45(4)電機塊庫(Machines)
46(5)測量模塊庫(Measurements)
47(6)應(yīng)用模塊庫(ApplicationLibraries)
用鼠標的左鍵雙擊各個模塊庫的圖標,便可打開相應(yīng)的模塊庫,它們包含的標準模塊的符號、名稱及封裝形式分別如圖6-31的(a)、(b)和(c)所示。48
(a)電能驅(qū)動庫(b)交流輸電系統(tǒng)庫(c)分布式資源庫圖6-32ApplicationLibraries模塊庫中的子模塊庫49(7)附加模塊庫(ExtraLibrary)50(8)電力系統(tǒng)參數(shù)設(shè)置圖形用戶界面(Powergui)
電力系統(tǒng)參數(shù)設(shè)置圖形用戶分析界面(Powergui)模塊是一種用于電路和系統(tǒng)分析的圖形接口界面,如圖6-34所示。該窗口分為三大部分:第一部分是仿真類型(Simulationtype):包括相量仿真(Phasorsimulation)、離散系統(tǒng)仿真(Discretizeelectricalmodel)和連續(xù)仿真(Continuous)三種類型。第二部分是選項(Options):包括在分析過程中顯示消息(Showmessagesduringanalysis)和恢復(fù)被禁用的鏈接(Restoredisabledlinks?),其中Restoredisabledlinks?下拉式菜單中的可選項有:yes,warning和no。51
第三部分是分析工具(Analysistools):包括穩(wěn)態(tài)電壓和電流(Steady-VoltagesandCurrents)、初始狀態(tài)設(shè)置(InitialStatesSetting)、負載流和機器初始化(LoadFlowandMachineInitialization)、使用線性瀏覽器(UseLTIViewer)、阻抗與頻率測量(ImpedancevsFrequencyMeasurement)、快速傅里葉分析(FFTAnalysis)、生成報告(GenerateReport)、滯后的設(shè)計工具(HysteresisDesignTool)和計算可編程控制器的線路參數(shù)(ComputePLCLineParameters)等分析工具。用鼠標左鍵單擊各分析工具便可打開其對應(yīng)的參數(shù)設(shè)置與分析窗口。電力系統(tǒng)參數(shù)設(shè)置圖形用戶分析界面(Powergui)模塊的具體使用方法,將在第7~10中詳細介紹。526.2模型的構(gòu)造Simulink完全采用方框圖的“抓取”功能來構(gòu)造動態(tài)系統(tǒng)模型,系統(tǒng)的創(chuàng)建過程就是繪制方框圖的過程。在Simulink環(huán)境中方框圖的繪制完全依賴于鼠標操作。536.2.1模型編輯窗口若想新建一個控制系統(tǒng)結(jié)構(gòu)框圖,則首先應(yīng)該打開一個標題為“Untitled”的空白模型編輯窗口,如圖6-35所示。
圖6-3554創(chuàng)建一個新的模型編輯窗口有以下三種方法:1)在Simulink庫瀏覽窗口中,點擊工具條中的新建模型窗口按鈕
或
。2)在Simulink的標準模塊庫窗口中選擇菜單命令File|New|Model;3)在MATLAB6.x/7.x操作界面中,選擇菜單命令File
New
Model;或在MATLAB8.x操作界面的主頁(HOME)中,利用新建(New)菜單下的SimulinkModel命令;或在MATLAB9.x操作界面的主頁(HOME)中,首先利用Simulink快捷啟動按鈕“”或新建(New)菜單下的SimulinkModel命令,顯示如圖6-2所示的SimulinkStartPage窗口,然后單擊該窗口中New頁面下Simulink選項里的BlankModel。55利用MATLAB6.x/7.x/8.x打開的空白模型編輯窗口,如圖6-35所示;利用MATLAB9.x打開的空白模型編輯窗口,如圖6-3所示。模型編輯窗口由標題、功能菜單和用戶模型編輯區(qū)三部分組成。在模型編輯窗口中允許用戶對系統(tǒng)的結(jié)構(gòu)圖進行編輯、修改和仿真。對控制系統(tǒng)結(jié)構(gòu)框圖的繪制必須在用戶模型編輯區(qū)中進行,結(jié)構(gòu)圖中所需的各種模塊,可直接從Simulink庫瀏覽窗口中的各模塊庫(集)中復(fù)制相應(yīng)的標準模塊得到。模型編輯窗口的標題實際上是擴展名為.mdl的模型文件名,它可利用菜單命令File|Saveas將其任意更名保存。56
為了方便用戶建模,模型編輯窗口中設(shè)計了以下多種功能菜單。
*File文件操作菜單參Simulink模塊庫中功能菜單的File項。
*Edit編輯菜單參Simulink模塊庫中功能菜單的Edit項。
*View查看菜單參Simulink模塊庫中功能菜單的View項。57*Simulation仿真操作菜單
Start開始仿真
Stop停止仿真
SimulationParameters仿真參數(shù)設(shè)置
Normal正常的
Accelerator加速的
External外部的58*Format格式菜單
Font字體設(shè)置
Textalignment文字對齊
Flipname模塊名置于模塊的相反一邊
Show/Hidename顯示/隱藏模塊名
Flipblock模塊旋轉(zhuǎn)180度
Rotateblock模塊順時針方向旋轉(zhuǎn)90度
ShowdropShadow顯示陰影
Showportlabels顯示端口標注
Foregroundcolor前景顏色設(shè)置
Backgroundcolor背景顏色設(shè)置
Screencolor屏幕顏色設(shè)置
59
如果方框圖模型文件已經(jīng)存在,則可利用以下三種方法打開一個具有一定內(nèi)容的模型編輯窗口:1)在Simulink庫瀏覽窗口中,點擊工具條中的打開模型文件按鈕
,然后選擇或者輸入要編輯的模型文件名;2)在庫窗口中選擇菜單命令File|Open,然后選擇或者輸入要編輯的模型文件名;3)在MATLAB指令窗口中直接鍵入模型文件名(不帶.mdl擴展名)。
利用MATLAB高版本可以打開由MATLAB低版本編輯的模型文件,但MATLAB低版本打不開由高版本編輯的模型文件。而對于MATLAB的M文件,高低版本均可打開。606.2.2對象的選定在建模操作中,諸如拷貝一個模塊或者刪除一條連線,都需要首先選定一個或多個模塊或連線,我們把這些模塊或連線稱做對象。
1.選定單個對象用鼠標單擊待選對象,小黑四方塊的“句柄”就會出現(xiàn)在被選中模塊的四個角上,或在被選中連線的兩個端點旁。612.選定一組對象選定一組對象的方法有以下三種:選定一組不連續(xù)對象在按下Shift鍵的同時,用鼠標單擊每一待選的對象。要取消一個已被選定的對象的選定狀態(tài),在按下Shift鍵的同時,再一次用鼠標單擊該對象。選定一組連續(xù)對象按住鼠標左鍵向右下方拉出一個矩形虛線框,將所有待選模塊包圍在其中,然后松開按鍵,則矩形框里所有的對象同時被選中。62選定整個模型要選定一個活動窗口的所有對象,只要選擇窗口菜單下的Edit|Selectall命令即可。但不能通過此種方法來選擇所有的模塊和連線來創(chuàng)建子系統(tǒng)模塊。如果想放棄選中的對象,則只需在空白處點擊即可636.2.3模塊的操作模塊是Simulink模型構(gòu)造的基本元素,利用鼠標點擊和拖拉方式可將仿真模塊庫(集)中標準模塊拷貝到用戶模型編輯窗口中,并使其相互連接,便可得到系統(tǒng)方框圖。641.模塊的復(fù)制1)從一個窗口復(fù)制模塊到另一個窗口建立模型時,會經(jīng)常從Simulink模塊庫、其它庫(集)或者模型編輯窗口中復(fù)制標準模塊到當(dāng)前正在編輯的模型編輯窗口中。復(fù)制標準模塊,可按以下步驟進行。①打開相關(guān)的模塊庫(集)或模型編輯窗口以及正在編輯的模型編輯窗口;65②將光標定位于要復(fù)制的模塊上,按下鼠標左鍵并保持住,拖動鼠標到正在編輯的模型編輯窗口中適當(dāng)位置,然后松開鼠標左鍵,就會在選定的位置上復(fù)制出相應(yīng)的模塊,新復(fù)制的模塊和原模塊的名字相同,如果同一模塊在同一窗口中復(fù)制了一次以上,它們會自動在模塊名字末加進次序號,以資區(qū)別。新復(fù)制的模塊繼承了原模塊的所有參數(shù)。但在復(fù)制Sum、Mux、Demux和BusSelector模塊時,Simulink會隱藏其名字,以避免模型圖中不必要的混亂,增加可讀性。由此可見,從一個窗口拖動模塊到另一個窗口,其實是從一個窗口復(fù)制模塊到另一個窗口。662)在同一窗口中復(fù)制模塊在按下Ctrl鍵的同時,用鼠標左鍵選中待復(fù)制的模塊后,將其拖到希望位置后,松開按鍵,便完成復(fù)制工作。如果采用鼠標右鍵,以上拷貝過程中就省掉按Ctrl鍵了。另外,還可通過Edit菜單下的Copy和Paste命令來復(fù)制模塊。672.模塊的移動1)從一個窗口移動模塊到另一個窗口模塊的移動,可按以下步驟進行。①打開相關(guān)的模塊庫(集)或模型編輯窗口以及正在編輯的模型編輯窗口;②在按下Shift鍵的同時,從一個窗口拖動模塊到另一個窗口。682)在同一窗口中移動模塊在同一窗口中移動單個模塊時,只需將光標置于待移動模塊圖標上,按住鼠標將模塊拖到合適的位置放開鼠標即可,模塊移動時,與模塊的連線也隨之移動,這時Simulink將會自動地重畫與被移動模塊相連的連線。當(dāng)移動多個模塊及其連線時,首先要選中要移動的模塊和連線,然后把光標置于待移動模塊及其連線的任一處,將其拖動到指定位置即可。另外,也可通過Edit菜單下的Cut和Paste命令來移動模塊。693.模塊的刪除按Delete或Backspace鍵即可以刪除所選定的一個或多個模塊。另外,也可通過Edit菜單下的Cut或Clear命令來刪除所選定的模塊。但Edit|Cut命令,可將選定的模塊移到Windows的剪貼板上,可供Edit|Paste命令重新粘貼。704.模塊的旋轉(zhuǎn)因從標準模塊庫中復(fù)制到模型編輯窗口中模塊,在默認狀態(tài)下是輸入端(大于符號)在左,而輸出端(三角符號)在右,在繪制系統(tǒng)方框圖時,有時為了使得連線更容易,避免不必要的交叉線,增加框圖的可讀性,需要對某些模塊翻轉(zhuǎn)或旋轉(zhuǎn),使得其輸入端和輸出端改變方向。如在反饋回路中的模塊希望輸入端在右輸出端在左。在Simulink下實現(xiàn)這一功能是輕而易舉的事情,首先用鼠標選中要旋轉(zhuǎn)處理的模塊,然后執(zhí)行Format|Flipblock命令將對此模塊旋轉(zhuǎn)180度;或執(zhí)行Format|Rotateblock命令將對此模塊順時針方向旋轉(zhuǎn)90度。716.2.4模塊間的連接線系統(tǒng)框圖中的信號沿模塊間的連接線傳輸,連接線可傳輸標量或向量信號。1.模塊間的連接線模塊間的連接線是從某模塊的輸出端(三角符號)出發(fā)直指另一模塊的輸入口(大于符號)的有向線段。它的生成方法是:把鼠標光標移到起點模塊的輸出端,按鼠標左右的任何一鍵,看到光標變?yōu)椤?”字后,拖動“+”字光標到終點模塊的輸入端,再釋放鼠標按鈕,則會自動產(chǎn)生一條帶箭頭的線段,將兩個模塊連接起來,箭頭方向表示信號流向。如想消去某段連線,可先用鼠標單擊的方法選定該連線后,按Delete鍵,則可刪除用方塊標定的連線。722.畫支線支線是從一條已存在的有向線段上任意一點出發(fā),指向另一模塊輸入口的有向線段。已存在的有向線段和支線傳輸?shù)氖窍嗤男盘枺褂弥Ь€可以將一個信號傳輸給多個模塊,它也一般用于連接方框圖中的反向模塊。這類支線生成的方法是:把鼠標光標移到有向線段上的任意點處,在按下Ctrl鍵的同時,按下鼠標左鍵,光標由箭頭變?yōu)椤?”字,拖動鼠標到適當(dāng)位置后放開左鍵,屏幕上就出現(xiàn)一條由此點引出的箭頭線,再從此箭頭開始按住鼠標左右任何一鍵,沿另一方向拖到適當(dāng)位置后松開按鍵,照此操作,直到整個支線繪完為止。如果采用鼠標右鍵,以上過程中就省掉按Ctrl鍵了。736.2.5模型的保存在模型編輯窗口中編輯好系統(tǒng)結(jié)構(gòu)框圖后,可用窗口中的菜單命令File|Save將其保存為模型文件(擴展名為.mdl),模型文件中存有模塊圖和模塊的一些屬性,它是以ASCII碼形式存儲的,它也可用窗口中的菜單命令File|Saveas將其任意更名保存。模型文件名必須是以字母開頭的且不能超過31個字母、數(shù)字和下劃線組成的字符串。74例6-1建立如圖6-36所示的系統(tǒng)模型,并將其保存為ex6_1.mdl模型文件。圖6-36756.2.6模塊名字的處理1.模塊名字的修改模塊名字是指標識模塊圖標的字符串,為了增加可讀性,那些被用戶所復(fù)制到用戶窗口中的標準模塊的標題常作必要的修改,具體方法如下:先用鼠標單擊所選標題,輸入新的標題(MATLAB7.4版僅限西文字符,MATLAB6.5版中西文均可)然后用鼠標單擊窗口中的任一地方,修改工作完成。模塊名字的字體、字形和大小也可通過選擇菜單命令Format|Font來改變。762.模塊名字位置的改變模型中所有模塊的名字都必須是唯一的,并且必須包含至少一個字符。缺省情況下,如果模塊的端口在它的左右兩邊時,模塊的名字顯示在它的下面,而如果模塊的端口在它的上下兩邊時,模塊的名字顯示在它的左邊。但所選模塊的模塊名字可通過以下兩種方法改變位置:1)將模塊名用鼠標拖至模塊相反的一邊;2)選擇菜單命令Format|Flipname,可將所選模塊的名字置于模塊的相反一邊。773.改變是否顯示模塊名字選擇Format菜單下的Hidename或Showname命令,便可隱藏或顯示所選模塊的模塊名。786.2.7模塊內(nèi)部參數(shù)的修改被復(fù)制到用戶窗口中的各種模塊,開始包含著與原始標準模塊一樣的內(nèi)部參數(shù)設(shè)置,即內(nèi)部參數(shù)開始均為缺省值。如:階躍輸入函數(shù)模塊(StepFcn)的缺省的階躍時刻是1,而不是0,傳遞函數(shù)模塊(TranceferFcn)的缺省值為1/(s+1)等。為了適合用戶的不同需要,常需對模塊的內(nèi)部參數(shù)作必要的修改。具體操作如下:用鼠標的左鍵雙擊待修改內(nèi)部參數(shù)模塊的圖標,則可打開該模塊的參數(shù)設(shè)置對話框,通過改變對話框中適當(dāng)欄目中的數(shù)據(jù)便可。在參數(shù)設(shè)置時任何MATLAB工作內(nèi)存中已有的變量、合法表達式和MATLAB語句等都可以填寫在設(shè)置欄中,某些模塊的方框大小是可以用鼠標操作調(diào)整的。79例6-2把例6-1中的系統(tǒng)模型修改成圖6-37所示的系統(tǒng)模型。圖6-3780解①對傳遞函數(shù)模塊參數(shù)的修改②對求和模塊輸入極性的修改
816.2.8模塊的標量擴展標量擴展是指將一個標量值轉(zhuǎn)變成一個具有相同元素的向量。幾乎所有的模塊都能接受標量輸入或向量輸入,產(chǎn)生標量或向量輸出,并且允許用戶來定義標量或向量參數(shù),這樣的模塊將稱之為向量化了的模塊。用戶可通過Format菜單中的Widenonscalarlines命令來定義模型中的哪些信號線傳遞的是向量信號,并且將向量信號連線用粗線表示,標量信號連線用細線表示。利用Edit菜單中選擇UpdateDiagram選項可隨時更新顯示。另外,在仿真開始時也可進行這樣的更新顯示。821.輸入的標量擴展當(dāng)模塊有一個以上的輸入時,可以把向量輸入和標量輸入混合起來。在這種情況下,那個標量輸入信號就要進行標量擴展,形成一個具有和向量輸入信號維數(shù)一樣的具有相同元素的向量,如圖6-38所示。
832.參數(shù)的標量擴展對于可以進行標量擴展的那些模塊,其參數(shù)既可以定義為標量,也可以定義為向量。當(dāng)為一個向量參數(shù)時,向量參數(shù)中的每一個元素與輸入向量中的每一個元素相對應(yīng)。而當(dāng)定義為一個標量參數(shù)時,Simulink就對標量參數(shù)進行標量擴展,自動形成一個具有相應(yīng)維數(shù)的向量,如圖6-39所示。843.顯示/關(guān)閉連線的寬度可以通過選擇菜單命令Format
Port/Signaldisplays
WidenonscalarLines來顯示和關(guān)閉模型中用粗線表示的向量信號連線。4.信號標注要對某一連線進行標注,只需雙擊標注處,并且在插入點處輸入標注即可,標注可移動到連線的任何位置。標注的字體、字形和大小也可通過選擇菜單命令Format
Font來改變。
856.3連續(xù)系統(tǒng)的數(shù)字仿真
創(chuàng)建好系統(tǒng)模型后,就可以在用戶模型窗口中利用Simulink的菜單命令或者在MATLAB的命令窗口中利用MATLAB的指令操作方式對系統(tǒng)進行仿真了。866.3.1利用Simulink菜單命令進行仿真Simulink的菜單命令方式對于交互式工作非常方便,這種在Simulink窗口下進行的仿真最直觀,它可使用Scopes或者其他的顯示模塊,在運行仿真時觀察仿真結(jié)果。仿真的結(jié)果還可保存到MATLAB工作空間的變量中,以待進一步的處理。另外,在這種仿真方式下,無論是對框圖模型本身還是對數(shù)值算法及參數(shù)的選擇都可以很方便地修改和操縱。模型及仿真參數(shù)不僅在仿真前允許編程和修改,而且在仿真過程中也允許作一定程度的修改。在這種菜單仿真方式下,在一個系統(tǒng)仿真的同時,允許打開另一個系統(tǒng)。87
在啟動仿真開始之前,首先應(yīng)選擇系統(tǒng)模型窗口中的Simulation
ConfigurationParameters命令來設(shè)置仿真算法和參數(shù),這時將給出一個如圖6-40所示的對話框,它包括七個頁面和四個功能按鈕。其中,前兩個頁面是經(jīng)常需要用戶改變設(shè)置的。圖6-40(a)MATLAB7.x/8.x/9.x版的Solver頁面1.仿真參數(shù)設(shè)置88
(b)MATLAB6.x版的Solver頁面1(c)MATLAB6.x版的Solver頁面2圖6-40Solver頁面對話框891)求解器(Solver)頁面該頁面用來設(shè)置仿真開始和停止時間、選擇仿真算法和指定算法的參數(shù)等,如圖6-31所示。(1)仿真時間(Simulationtime)
仿真時間是由參數(shù)對話框中的開始時間(StartTime)和停止時間(StopTime)框中的內(nèi)容來確定的,它們均可修改,缺省的開始時間為0.0秒,停止時間為10.0秒。在仿真過程中允許實時修改仿真的終止時間(StopTime)90(2)求解器選項(Solveroptions)
仿真涉及常微分方程組的數(shù)值積分,由于動態(tài)系統(tǒng)行為的多樣性,目前還沒有一種算法能夠保證所有模型的數(shù)值仿真結(jié)果總是準確、可靠的。為此,Simulink提供了變步長(Variable-step)和定步長(Fixed-step)兩大類數(shù)值積分算法供用戶選擇。對于變步長算法,可以設(shè)定最大步長(Maxstepsize)、最小步長(Minstepsize)、起始步長(Initialstepsize)、相對容差(Relativetolerance)和絕對容差(Absolutetolerance)。對于定步長算法,可以設(shè)定固定步長(Fixedstepsize)和選擇仿真模式(Mode)。因此為得到準確仿真結(jié)果,用戶必須針對不同模型仔細選擇算法及參數(shù)。91①仿真算法在求解器選項(Solveroptions)最上面的兩個選擇框中,可選擇相應(yīng)的仿真算法。變步長(Variable-step)算法可以選擇的變步長算法有以下幾種。缺省情況下,連續(xù)系統(tǒng)采用ode45;離散系統(tǒng)采用discrete。定步長(Fixed-step)算法可以選擇的定步長算法有以下幾種。92②仿真步長在求解器選項(Solveroptions)下面的選擇框中。對于變步長算法,可以設(shè)定最大步長(Maxstepsize)、最小步長(Minstepsize)和起始步長(Initialstepsize)。對于定步長算法,可以設(shè)定固定步長(Fixedstepsize)。缺省情況下,這些參數(shù)均為auto,即這些參數(shù)將被自動地設(shè)定。對于變步長算法,采用變步長的方法進行仿真,仿真開始時是以起始步長作為計算步長的,在仿真過程中,算法會把算得的局部估計誤差與誤差容限相比較,在滿足仿真精度的前提下,自動拉大步長,提高計算效率。
93
一般情況下,最大步長可以選擇一個較大的數(shù)值,但如果選擇的過大,可能會出現(xiàn)在仿真點處仿真結(jié)果是正確的,但仿真曲線不是很光滑的情況,故最大步長一般選擇為仿真范圍的1/50。通常,最小步長都取的很小,但如果取的太小,會增大計算量。仿真的最小步長和最大步長均可在仿真過程中進行實時修改。94③誤差容限相對容差(Relativetolerance)和絕對容差(Absolutetolerance)中所填寫的容差值是用來定義仿真精度的。在變步長仿真過程中,算法會把算得的局部估計誤差與這里填寫的容許誤差限來相比較,當(dāng)誤差超過這一誤差限時會自動地對仿真步長作適當(dāng)?shù)男拚哉f在變步長仿真時,誤差限的設(shè)置是很重要的,它將關(guān)系到微分方程求解的精度。誤差限經(jīng)常在0.1和1e-6之間取值,它越小,積分的步數(shù)就越多,精度也越高,但是過?。ㄈ?e-10)由于計算舍入誤差的顯著增加,而影響整個精度,誤差限在仿真過程中允許實時修改。95④仿真模式(Mode)
在采用定步長(Fixed-step)算法進行仿真時,需要在求解器選項(Solveroptions)下面的仿真模式(Mode)選擇框列表中選擇仿真模式。
多任務(wù)模式(MultiTasking)
如果檢測到模塊間進行非法采樣類轉(zhuǎn)換,即直接相連模塊之間以不同的采樣類運算,單模式會出現(xiàn)錯誤。在實時多任務(wù)系統(tǒng)中,任務(wù)間非法采樣類轉(zhuǎn)換可能導(dǎo)致當(dāng)另一個任務(wù)需要時,某一任務(wù)輸出不能用。通過此類轉(zhuǎn)換檢查,多任務(wù)模式可以幫助創(chuàng)建現(xiàn)實中的合法的多任務(wù)系統(tǒng)模型,模型中何處表示是同時執(zhí)行的任務(wù)。96
單任務(wù)模式(SingleTasking)
該模式不檢查模塊間的采樣類轉(zhuǎn)換。該模式對于建造單任務(wù)系統(tǒng)模型非常有用,在此類系統(tǒng)中,任務(wù)同步不是問題。
自動模式(Auto)
當(dāng)選用此模式時,如果模型中所有模塊運行于同樣的采樣率下,Simulink使用單任務(wù)模式;如果模型包含有不同采樣率運行的模塊,則使用多任務(wù)模式。97(3)輸出選項(Outputoptions)
在輸出選項(Outputoptions)中,可以選擇以下三種輸出。
細化輸出(Refineoutput)
產(chǎn)生額外的輸出(Produceadditionaloutput)
只產(chǎn)生指定的輸出(Producespecifiedoutputonly)982)數(shù)據(jù)輸入/輸出(DataImport/Export)頁面該頁面可以將仿真的輸出結(jié)果保存到MATLAB的工作空間變量中,也可以從MATLAB的工作空間取得輸入和初始狀態(tài),如圖6-41所示。(a)MATLAB7.x/8.x版的數(shù)據(jù)輸入/輸出(DataImport/Export)頁面99(b)MATLAB6.x版的工作空間輸入/輸出(WorkspaceI/O)頁面圖6-41輸入/輸出頁面對話框100(1)從MATLAB的工作空間裝入輸入和初始狀態(tài)(Loadfromworkspace)
系統(tǒng)開始仿真時的初始狀態(tài),通常在模塊中指定,也可以在DataImport/Export頁的Loadfromworkspace域的初始狀態(tài)(Initialstates)編輯框中重新指定,以重新裝載在模塊中指定的初始條件。在仿真運行期間,Simulink也可以把MATLAB工作空間的變量值當(dāng)作模型的輸入信號,它是通過輸入端口輸入到模型中。要指定這一選項,在DataImport/Export頁面的Loadfromworkspace域中,選中Input選框,然后在其后的編輯框中輸入外部輸入變量(缺省內(nèi)容為[t,u]),并選擇Apply或OK按鈕。101外部輸入可以采用下列任何一種形式。
外部輸入矩陣(Array)
外部輸入矩陣的第一列必須是升序排列的時間向量,其余列指定輸入值。每列代表不同輸入模塊信號序列,每行則是相應(yīng)時間的輸入值。如果選擇了數(shù)據(jù)插值(interpolatedata)選項,必要時Simulink對輸入值進行線性插值或外推。輸入矩陣的總列數(shù)必須等于n+l,其中n為進入模型的信號輸入端口總數(shù)。如果在MATLAB工作空間中定義了t和u,則可以直接采用缺省的外部輸入標識[t,u]。102
具有時間的結(jié)構(gòu)(StructurewithTime)Simulink可以從MATLAB工作空間中讀入結(jié)構(gòu)形式的數(shù)據(jù),但其名字必須在Input后的編輯框中指定。輸入結(jié)構(gòu)必須有兩個字段:時間和信號。時間字段包含一列仿真時間的向量;信號字段包含子結(jié)構(gòu)數(shù)組,每個對應(yīng)模型的一個輸出端口;每個子結(jié)構(gòu)有字段:值;值字段包含相應(yīng)輸入端口的輸入列向量。103
結(jié)構(gòu)(Structure)
結(jié)構(gòu)格式與具有時間的結(jié)構(gòu)格式一樣,只是其時間字段為空。如在上例中,可以指定:ex.time=[]。
外部輸入時間表達式(Externalinputtimeexpression)
時間表達式可以是任何MATLAB表達式、計算行向量,其長度與模型輸入端口的信號數(shù)一樣。104(2)將結(jié)果保存到MATLAB的工作空間變量中(Savetoworkspace)Simulink將仿真結(jié)果存放在SavetoWorksPace域中指定名字的向量中。它可以通過在WorkspaceI/O頁面的Savetoworkspace域中,任意選擇時間(Time)、狀態(tài)(States)、輸出(Output)和最終狀態(tài)(Finalstate)選框,并指定返回的變量名。變量名即可任意指定,也可采用默認值。若要將某一結(jié)果輸出到多個變量中,可在此參數(shù)輸入框中同時指定多個變量名,各變量名之間用逗號分開后外加方括號。指定的返回變量使得Simulink將時間、狀態(tài)、輸出和最終狀態(tài)值的軌跡輸出到MATLAB工作空間中,以便進一步對其分析。如果想保存一個穩(wěn)定狀態(tài)的結(jié)果并從那個已知的狀態(tài)重新啟動仿真,那么保存最終狀態(tài)(Finalstate)將非常有用。105
可以通過Saveoptions域來限制保存輸出的數(shù)量和指定輸出存儲的格式。
①如果計算出來的結(jié)果太多,要限制數(shù)據(jù)的點數(shù),可選擇Limitdatapointstolast編輯框。在一般情況下,該參數(shù)選擇為1000也就足夠了。要使用抽取(Decimation)因子,在Decimation文本框中輸入數(shù)值。例如,在Decimation文本框中輸入的值為2時,產(chǎn)生的點將每隔一個保存一個。(3)保存選項(Saveoptions)106②輸出存儲格式(Format)選項可以指定輸出數(shù)據(jù)采用下列任何一種形式輸出。
矩陣(Array)
具有時間的結(jié)構(gòu)(StructurewithTime)
結(jié)構(gòu)(Structure)1073)優(yōu)化(Optimazition)頁面在該頁面中,可以選擇不同的選項來提高仿真性能以及產(chǎn)生代碼的性能。其中,SimulationandcodeGeneration欄設(shè)置對模型仿真及代碼生成共同有效;CodeGeneration欄設(shè)置僅對代碼生成有效。1084)診斷(Diagnostics)頁面在診斷頁面中,可以設(shè)定一致性檢查(Consistencychecking)和邊界檢查(Boundschecking)。對于每一事件類型,可以選擇是否需要提示消息,是警告消息還是錯誤消息。警告消息不會終止仿真,錯誤消息則會終止仿真的運行。1095)硬件設(shè)置(HardwareImplementation)頁面該頁面主要針對于計算機系統(tǒng)模型,如嵌入式控制器。允許設(shè)置這些用來執(zhí)行模型所表示系統(tǒng)的硬件參數(shù)。6)模型參考(ModeiReferencing)頁面該頁面允許用戶設(shè)置模型中的其它子模型,或者包含在其它模型中的此模型,以便仿真的調(diào)試和目標代碼的生成。7)實時工作空間(Real-timeWorkshop)頁面在該頁面中,可以設(shè)置影響Real-timeWorkshop生成代碼和構(gòu)建可執(zhí)行文件的諸多參數(shù)和選項。1102.仿真結(jié)果分析設(shè)置完以上仿真控制參數(shù)后,則可選擇Simulation|Start命令來啟動仿真過程,在仿真結(jié)束時會自動發(fā)出一聲鳴叫。在仿真過程中還允許采用Simulation菜單下的Pause和Continue命令來暫停或繼續(xù)仿真過程,若選擇Simulation|Stop命令,則人為中止仿真過程。結(jié)果分析有助于模型的改進和完善,同時結(jié)果分析也是仿真的主要目的。仿真結(jié)果可采用以下幾種方法得到。111(1)利用示波器模塊(Scope)得到輸出結(jié)果當(dāng)利用示波器模塊作輸出時,它不僅會自動地將仿真的結(jié)果從示波器上實時地顯示出來。而且也可同時把示波器緩沖區(qū)存儲的數(shù)據(jù),送到MATLAB工作空間指定的變量中保存起來,以便利用繪圖命令在MATLAB命令窗口里繪制出圖形。112
在示波器模塊的窗口中,利用快捷按鈕“”或“”,可打開如圖6-42所示的示波器模塊參數(shù)(parameters)對話框。示波器參數(shù)對話框中有兩個頁面,圖6-42(a)為一般參數(shù)設(shè)置(General),圖6-44(b)為數(shù)據(jù)存儲參數(shù)設(shè)置(Datahistory)。圖6-44113例6-4對圖6-45所示的系統(tǒng)進行仿真。圖6-45114解
在求解器選項(Solveroptions)頁面中,把固定步長(Fixed-stepsize)一欄中的默認值auto改為0.05,以確保最大仿真步長小于周期的1/10,否則波形就失真,設(shè)置完參數(shù)后用鼠標單擊【OK】按鈕接收新參數(shù),同時關(guān)閉此對話框。
在Simulink中,仿真中的動態(tài)數(shù)據(jù)的計算都是由數(shù)值積分實現(xiàn)的。盡管本例從信號發(fā)生器到示波器沒通過其他環(huán)節(jié)(實際上可認為經(jīng)過一個增益為1的比例環(huán)節(jié)),但動態(tài)數(shù)據(jù)仍是經(jīng)數(shù)值積分計算得到的,因此在仿真前,仍需執(zhí)行Simulation
ConfigurationParameters命令來設(shè)置仿真控制面板中相應(yīng)的參數(shù),參圖6-40。115
選擇Simulation
Start命令啟動仿真過程,便可在示波器上看到相應(yīng)的曲線。另外,在MATLAB命令窗口中利用以下命令,便可得到如圖6-47所示的輸出曲線。>>plot(y(:,1),y(:,2));title('sin')圖6-47116
除了示波器形象的輸出之外,用戶還可以用ToWorkspace模塊或Out1模塊將仿真結(jié)果返回到MATLAB的工作空間變量中,這樣返回的結(jié)果當(dāng)然可以利用MATLAB命令來進一步處理。117(2)利用輸出接口模塊(Out1)得到輸出結(jié)果利用輸出接口(Out1)模塊把仿真結(jié)果返回到MATLAB的工作空間時,就必須選定圖6-45所示的DataImport/Export頁面中的時間變量(Time)和輸出變量(Output)對話框,對話框中的變量名即可采用默認的,也可根據(jù)需要更名。狀態(tài)變量(States)和終值狀態(tài)變量(Finalstate)對話框為任選。118例6-5
對圖6-48所示的模型框圖進行仿真。`圖6-48119
選擇Simulation
ConfigurationParameters命令,打開仿真參數(shù)控制面板,在圖6-37所示的求解器選項(Solveroptions)頁面,把終止時間(Stoptime)欄中的內(nèi)容改為20,其余參數(shù)采用默認值;在圖6-39所示的數(shù)據(jù)輸入/輸出(DataImport/Export)頁面,把時間變量(Time)和輸出變量(Output)對話框中的變量改為t和y,其余參數(shù)采用默認值,按【OK】鍵返回。選擇Simulation
Start命令開始仿真,等聽到一聲嘟后仿真便結(jié)束,此時可返到MATLAB工作窗口,運行命令>>plot(t,y)120便可得到圖6-49所示的輸出響應(yīng)曲線。121(3)利用把數(shù)據(jù)傳送到工作空間模塊(ToWorkspace)得到輸出結(jié)果
利用ToWorkspace模塊向MATLAB工作空間傳送數(shù)據(jù)時,應(yīng)該為其指定一個變量名,它是通過用鼠標左鍵雙擊該模塊的圖標來完成的,這將給出如圖6-50所示的對話框。用戶可以在Variablename(變量名)引導(dǎo)的編輯框中輸入相應(yīng)的變量名。122例6-6對圖6-51所示系統(tǒng)模型進行仿真圖6-51123MATLAB工作窗口,運行命令:>>plot(t,y)便可得到如圖6-49所示的圖形。1246.3.2利用MATLAB的指令操作方式進行仿真除了利用Simulink菜單對系統(tǒng)進行仿真外,還可以在MATLAB工作窗口中,利用命令函數(shù)sim()或ode45()對系統(tǒng)進行仿真,MATLAB命令行方式對于處理成批的仿真比較有用。1251.利用函數(shù)sim()進行仿真當(dāng)系統(tǒng)的數(shù)學(xué)模型以系統(tǒng)結(jié)構(gòu)圖描述時,在MATLAB的工作窗口中,通常利用函數(shù)sim()對系統(tǒng)進行仿真,函數(shù)sim()的調(diào)用格式為
[t,x,y]=sim(‘model’,tf,options,ut)或[t,x,y1,y2,…,yn]=sim(‘model’,tf,options,ut,)126例6-7
對例6-5中圖6-48所示系統(tǒng)進行初始狀態(tài)不同設(shè)置的仿真。解①對于圖6-48所示的系統(tǒng)模型ex6_5,在數(shù)據(jù)輸入/輸出(DataImport/Export)頁面中,選定從工作空間輸入?yún)?shù)功能欄(Loadfromworkspace)中的初始狀態(tài)選擇框(Initialstate),并輸入初始狀態(tài)向量[0.50],其余參數(shù)同例6-5,在接收以上參數(shù)后,將其另存為模型文件ex6_7;
②在MATLAB指令窗口中,運行以下指令,可得圖6-50所示的相軌跡圖。>>[t,x1,y1]=sim('ex6_5',20);[t,x2,y2]=sim('ex6_7',20);>>plot(x1(:,1),x1(:,2),'r:',x2(:,1),x2(:,2),'b-');>>legend('零初始狀態(tài)','非零初始狀態(tài)')127
對圖6-51所示框圖模型,采用以上命令將不可能獲得輸出響應(yīng),因為ToWorkspace模塊不同于輸出接口模塊(out1),因由這條指令運行所得的輸出y將是空“[]”。圖6-521282.利用函數(shù)ode45()進行仿真當(dāng)系統(tǒng)的數(shù)學(xué)模型以微分方程給出時,通常在MATLAB的工作窗口中,利用函數(shù)ode45()對系統(tǒng)進行仿真求解運算,函數(shù)ode45()的調(diào)用格式為[t,x]=ode45(fun,tspan,x0,tol)其中,fun為函數(shù)名,為用來描述系統(tǒng)狀態(tài)方程的M函數(shù)文件;tspan為仿真時間區(qū)間,當(dāng)其為標量tf時,默認仿真時間區(qū)間為[0,tf],當(dāng)其為二元行向量[t0,tf]時,仿真時間區(qū)間為[t0,tf];x0為狀態(tài)方程的初始向量值;tol用來指定精度,其默認值為10-3;返回變量t為時間,x為狀態(tài)方程的解向量。129
另外,利用函數(shù)ode45(),ode23(),ode113(),ode15s(),ode23s(),ode23t()和ode23tb()也可對系統(tǒng)進行同樣的仿真,他們的調(diào)用格式與函數(shù)ode45()完全相同。這些函數(shù)的使用范圍與Simulink求解器選項(Solveroptions)中變步長仿真算法相對應(yīng)。130例6-8
求微分方程在其初始條件下的解。解首先根據(jù)以上微分方程編寫一個函數(shù)ex6_9.m。
%ex6_8.mfunctiondx=ex6_8(t,x)dx=[x(2);(1-x(1)^2)*x(2)-x(1)];再利用以下MATLAB命令,即可求出微分方程在時間區(qū)間[0,30]上的解曲線(見圖5-6)。>>[t,x]=ode45('ex6_8',[0,30],[1;0]);>>plot(t,x(:,1),t,x(:,2));xlabel('t');ylabel('x(t)')1316.3.3模塊參數(shù)的動態(tài)交換1.在MATLAB工作空間中定義變量框圖模塊在仿真時所需的參數(shù)和初始變量取自模塊對話框,而模塊對話框中填寫的MATLAB變量以及表達式又來自MATLAB工作空間,不管仿真以何種方式進行,總可以在MATLAB工作空間中為Simulink模塊預(yù)定義參數(shù)和初始變量,也可以在指令窗口或命令文件中交互地進行變量的數(shù)值傳遞。132例6-9在MATLAB空間中預(yù)定義框圖模塊參數(shù)??紤]一個單輸入雙輸出的狀態(tài)空間表達式其中矩陣A,b,C,d和初始條件向量x0分別為133解(1)構(gòu)造如圖6-53所示的框圖系統(tǒng)并將其保存為ex6_9文件;(2)輸入接口(In1)和輸出接口(Out1)分別復(fù)制于信號源與接收模塊庫,并將兩個輸出接口模塊的標題依次改為y1和y2。圖6-53134(3)Demux模塊(分離模塊)復(fù)制于信號與系統(tǒng)模塊庫(Signals&Systems),它將一個向量信號分解為若干個輸出信號,輸出信號的數(shù)目由Demux模塊參數(shù)對話框中的輸出數(shù)目(Numberofoutputs)欄中的內(nèi)容確定。(4)狀態(tài)空間表達式模塊(State-Space)復(fù)制于連續(xù)系統(tǒng)模塊庫(Continuous)中,用鼠標打開狀態(tài)空間模塊的參數(shù)對話框,并將A,b,C,d分別填入?yún)?shù)對話框中的A,B,C,D四個矩陣參數(shù)輸入欄中,而在初始條件(InitialConditions)欄中直接填入初始向量參數(shù)[1;1;1],如圖6-54所示。135圖6-47136(5)在MATLAB方式下,運行以下指令,得圖6-55>>A=[-0.3,0,0;2.9,-0.62,-2.3;0,2.3,0];>>b=[1;0;0];C=[1,1,0;1,-3,1];d=[0;1];>>[t,x,y]=sim(‘ex6_10’,10);>>plot(t,y(:,1),‘:b’,t,y(:,2),‘-r’);>>legend(‘y1’,‘y2’)圖6-48137在本例中如把矩陣A,b,C,d的值直接填入狀態(tài)空間參數(shù)對話框中相應(yīng)的欄目中,則以上前兩行的指令可省略。當(dāng)然初始向量x0的值也可利用以下MATLAB命令給定。>>x0
=[1;1;1];1382.使用全局變量實現(xiàn)數(shù)據(jù)交換在參數(shù)優(yōu)化、靈敏度等計算中,常需要實現(xiàn)幾個文件之間的數(shù)據(jù)交換,那么采用前面所說的預(yù)定義方式是不可行的,這時,可以采用全局變量來實現(xiàn)數(shù)據(jù)傳遞,定義全局變量的命令格式如下globalabc在此,參數(shù)a,b,c
被定義為全局變量。使用全局變量要注意,全局變量應(yīng)在使用它們的所有命令文件、函數(shù)文件、工作內(nèi)存中加以定義才能被共享。即當(dāng)其中某一個文件使全局變量數(shù)值發(fā)生改變后,新值馬上傳送到其它文件,當(dāng)然也包括參與運行的框圖模型。1393.使用set_param()指令傳送數(shù)據(jù)指令set_param()是專門設(shè)計來更改Simulink模塊參數(shù)的。事實上,模塊對話框中的參數(shù)設(shè)置都是靠這個指令來實現(xiàn)的,該函數(shù)的調(diào)用格式為
set_param(Name,Parameter1,Value1,Parameter2,Value2,…,)其中Name是系統(tǒng)/模塊名,Parameter是待修改的參數(shù)名,Value是新指定值。140例6-10對圖6-56所示系統(tǒng)模型進行仿真。圖6-56141解(1)構(gòu)造圖6-54所示的簡單系統(tǒng),并保存文件名為ex6_10,為了保證以下指令正常運行,系統(tǒng)ex6_10窗口不要關(guān)閉;(2)在MATLAB指令方式下,運行以下指令,可得圖6-55所示的輸出曲線。>>set_param(‘ex6_10/Gain’,‘Gain’,‘2’);%表示把系統(tǒng)mod5中的比例模塊(Gain)中的增益(Gain)設(shè)置為2>>[t,x,y]=sim(‘ex6_10’,10);>>plot(t,y(:,1),‘:b’,t,y(:,2),‘-r’);>>legend(‘y1’,‘y2’)142圖6-571436.3.4Simulink調(diào)試器由用戶建立的系統(tǒng)模型,有時可能會出現(xiàn)這樣或那樣的問題,為了便于用戶查找問題,Simulink設(shè)置了動態(tài)仿真調(diào)試器(SimulinkDebugger)。在利用Simulink調(diào)試器調(diào)試時,系統(tǒng)能實時地顯示模型的狀
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 18912-2024光伏組件鹽霧腐蝕試驗
- 2025版第七章:電子信息產(chǎn)品采購合同管理規(guī)范3篇
- 賽車場屋頂防水工程
- 2025版虛擬現(xiàn)實技術(shù)研究與應(yīng)用開發(fā)合同3篇
- 2024年銅材行業(yè)節(jié)能減排技術(shù)與產(chǎn)品供應(yīng)合同3篇
- 眼鏡行業(yè)銷售人才聘用合同
- 體育賽事組織項目管理準則
- 2025版昆都侖召消防設(shè)施遠程監(jiān)控與報警系統(tǒng)合同3篇
- 健身房設(shè)備維護操作規(guī)程
- 美容美發(fā)合作社股東權(quán)益書
- 《正態(tài)分布理論及其應(yīng)用研究》4200字(論文)
- GB/T 45086.1-2024車載定位系統(tǒng)技術(shù)要求及試驗方法第1部分:衛(wèi)星定位
- 支氣管動脈造影護理
- 1古詩文理解性默寫(教師卷)
- 廣東省廣州市越秀區(qū)2021-2022學(xué)年九年級上學(xué)期期末道德與法治試題(含答案)
- 校園春季安全
- 2024-2025學(xué)年六上科學(xué)期末綜合檢測卷(含答案)
- 【MOOC】工程力學(xué)-浙江大學(xué) 中國大學(xué)慕課MOOC答案
- 在線教育平臺合作合同助力教育公平
- 工地鋼板短期出租合同模板
- 女排精神課件教學(xué)課件
評論
0/150
提交評論