環(huán)境管理_動(dòng)態(tài)仿真集成環(huán)境_第1頁(yè)
環(huán)境管理_動(dòng)態(tài)仿真集成環(huán)境_第2頁(yè)
環(huán)境管理_動(dòng)態(tài)仿真集成環(huán)境_第3頁(yè)
環(huán)境管理_動(dòng)態(tài)仿真集成環(huán)境_第4頁(yè)
環(huán)境管理_動(dòng)態(tài)仿真集成環(huán)境_第5頁(yè)
已閱讀5頁(yè),還剩201頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1 第6章動(dòng)態(tài)仿真集成環(huán)境 Simulink 本章內(nèi)容 1 注意區(qū)分書中Simulink庫(kù)瀏覽窗口與Simulink模塊庫(kù)的區(qū)別 2 熟悉Simulink模塊庫(kù)和Simulink附加模塊庫(kù)中常用標(biāo)準(zhǔn)模塊的功能及其應(yīng)用 3 利用Simulink標(biāo)準(zhǔn)模塊在用戶模型窗口中建立控制系統(tǒng)仿真模型 4 熟悉利用Simulink進(jìn)行系統(tǒng)仿真的兩種仿真方法 菜單法和行命令法 5 仿真算法和參數(shù)以及常用標(biāo)準(zhǔn)模塊參數(shù)的設(shè)置 6 仿真結(jié)果的三種處理方法 并注意輸出接口模塊 Out1 和將數(shù)據(jù)輸出到工作空間模塊 ToWorkspace 的不同用法及其利用它們輸出信號(hào)時(shí)的仿真參數(shù)的設(shè)置 7 利用MATLAB求解非線性系統(tǒng)的線性化模型 8 熟悉子系統(tǒng)的兩種建立方法 菜單法和模塊法 以及條件子系統(tǒng)的應(yīng)用 9 模型封裝模板編輯器的參數(shù)設(shè)置及系統(tǒng)模型的封裝步驟 2 Simulink是一個(gè)用來(lái)對(duì)動(dòng)態(tài)系統(tǒng)進(jìn)行建模 仿真和分析的軟件包 它支持連續(xù) 離散及兩者混合的線性和非線性系統(tǒng) 同時(shí)它也支持具有不同部分擁有不同采樣率的多種采樣速度的系統(tǒng)仿真 Simulink為用戶提供了一個(gè)圖形化的用戶界面 GUI 對(duì)于用方框圖所表示的系統(tǒng) 通過圖形界面 利用鼠標(biāo)點(diǎn)擊和拖拉方式 建立系統(tǒng)模型就像用鉛筆在紙上繪制系統(tǒng)的模型圖一樣簡(jiǎn)單 它與用微分方程和差分方程建模的傳統(tǒng)仿真軟件包相比 具有更直觀 更方便 更靈活的優(yōu)點(diǎn) 它不但實(shí)現(xiàn)了可視化的動(dòng)態(tài)仿真 也實(shí)現(xiàn)了與MATLAB C或者FORTRAN甚至和硬件之間的數(shù)據(jù)傳遞 大大地?cái)U(kuò)展了它的功能 3 6 1Simulink簡(jiǎn)介 6 1 1Simulink的啟動(dòng)要啟動(dòng)Simulink必須先啟動(dòng)MATLAB 在MATLAB窗口中 有三種方法啟動(dòng)Simulink 1 在MATLAB的命令窗口中 直接鍵入命令 simulink 2 在MATLAB窗口的工具條中 單擊Simulink的快捷啟動(dòng)按鈕 3 在MATLAB窗口的左下角 Start 菜單中 單擊 Simulink 子菜單中的 LibraryBrowser 選項(xiàng) 4 啟動(dòng)Simulink后 便可顯示如圖6 1所示的Simulink庫(kù)瀏覽窗口 SimulinkLibraryBrowser 窗口左邊列出了該系統(tǒng)中所有安裝的一個(gè)樹狀結(jié)構(gòu)的仿真模塊集或工具箱 同時(shí)右邊顯示當(dāng)前左邊所選仿真模塊集或工具箱中所包含的標(biāo)準(zhǔn)模塊庫(kù) Simulink庫(kù)瀏覽窗口由功能菜單 工具欄和模塊集或工具箱三大部分組成 創(chuàng)建系統(tǒng)模型時(shí) 將從這些仿真模塊集或工具箱中利用鼠標(biāo)復(fù)制標(biāo)準(zhǔn)模塊到用戶模型編輯窗口中 5 圖6 1 6 6 1 2Simulink庫(kù)瀏覽窗口的功能菜單為了充分利用仿真模塊庫(kù) 集 中的標(biāo)準(zhǔn)模塊對(duì)控制系統(tǒng)進(jìn)行有效的動(dòng)態(tài)仿真 在Simulink庫(kù)瀏覽窗口中設(shè)計(jì)了以下各個(gè)功能菜單 File文件操作菜單New新建用戶模型編輯窗口 模塊庫(kù)窗口Open打開用戶模型編輯窗口Close關(guān)閉用戶模型編輯窗口Preferences參數(shù)選擇 Edit編輯菜單Addtothecurrentmodel增加到當(dāng)前用戶模型編輯窗口中Findblock查找模塊Findnewblock查找新模塊 7 View查看菜單Toolbar顯示 關(guān)閉工具條開關(guān)Statusbar顯示 關(guān)閉狀態(tài)條開關(guān)Description顯示 關(guān)閉描述窗口開關(guān)Stayontop位于上層Collapseentirebrowser壓縮整個(gè)樹狀結(jié)構(gòu)Expandentirebrowser展開整個(gè)樹狀結(jié)構(gòu)Largeicons大圖標(biāo)Smallicons小圖標(biāo)Showparametersforselectedblock顯示所選模塊參數(shù) Help幫助菜單 8 6 1 3仿真模塊庫(kù) 集 在Simulink庫(kù)瀏覽窗口中 包含了由眾多領(lǐng)域著名專家與學(xué)者以MATLAB為基礎(chǔ)開發(fā)的大量實(shí)用模塊集或工具箱 本書限于篇幅 僅介紹與動(dòng)態(tài)仿真Simulink有關(guān)的幾種模塊集 1 Simulink模塊集 Simulink 在Simulink庫(kù)瀏覽窗口的Simulink節(jié)點(diǎn)上 通過單擊鼠標(biāo)右鍵后 便可打開如圖6 2所示的Simulink模塊集窗口 9 Simulink模塊庫(kù)由標(biāo)題 功能菜單和標(biāo)準(zhǔn)模塊庫(kù)三部分組成 圖6 2 10 1 信號(hào)源模塊庫(kù) Sources Sources庫(kù)中所包含的各個(gè)標(biāo)準(zhǔn)模塊及其功能如圖6 3和表6 1所示 1 Simulink的標(biāo)準(zhǔn)模塊庫(kù) 11 2 接收模塊庫(kù) Sinks Sinks庫(kù)中所包含的各個(gè)標(biāo)準(zhǔn)模塊及其功能如圖6 4和表6 2所示 12 3 連續(xù)系統(tǒng)模塊庫(kù) Continuous Continuous庫(kù)中所包含的各個(gè)標(biāo)準(zhǔn)模塊及其功能如圖6 5和表6 3所示 13 4 離散系統(tǒng)模塊庫(kù) Discrete Discrete庫(kù)中所包含的各個(gè)標(biāo)準(zhǔn)模塊及其功能如圖6 6和表6 4所示 14 5 非連續(xù)系統(tǒng)模塊庫(kù) Discontinuities Discontinuities庫(kù)中所包含的各個(gè)標(biāo)準(zhǔn)模塊及其功能如圖6 7和表6 5所示 15 6 信號(hào)路由模塊庫(kù) SignalRouting SignalRouting庫(kù)中所包含的各個(gè)標(biāo)準(zhǔn)模塊及其功能如圖6 8和表6 6所示 16 7 信號(hào)屬性模塊庫(kù) SignalAttributes SignalAttributes庫(kù)中所包含的各個(gè)標(biāo)準(zhǔn)模塊及其功能如圖6 9和表6 7所示 17 8 數(shù)學(xué)運(yùn)算模塊庫(kù) MathOperations MathOperations庫(kù)中所包含的各個(gè)標(biāo)準(zhǔn)模塊及其功能如圖6 10和表6 8所示 18 9 邏輯和位操作模塊庫(kù) LogicandBitOperations LogicandBitOperations庫(kù)中所包含的各個(gè)標(biāo)準(zhǔn)模塊及其功能如圖6 11和表6 9所示 19 10 查表模塊庫(kù) LookupTables LookupTables庫(kù)中所包含的各個(gè)標(biāo)準(zhǔn)模塊及其功能如圖6 12和表6 10所示 20 11 用戶自定義函數(shù)模塊庫(kù) User DefinedFunctions User DefinedFunctions庫(kù)中所包含的各個(gè)標(biāo)準(zhǔn)模塊及其功能如圖6 13和表6 11所示 21 12 模型檢測(cè)模塊庫(kù) ModelVerification ModelVerification庫(kù)中所包含的各個(gè)標(biāo)準(zhǔn)模塊及其功能如圖6 14和表6 12所示 22 13 端口與子系統(tǒng)模塊庫(kù) Ports Subsystems Ports Subsystems庫(kù)中所包含的各個(gè)標(biāo)準(zhǔn)模塊及其功能如圖6 15和表6 13所示 23 14 模型擴(kuò)展功能模塊庫(kù) Model WideUtilities Model WideUtilities庫(kù)中所包含的各個(gè)標(biāo)準(zhǔn)模塊及其功能如圖6 16和表6 14所示 24 15 模塊集和工具箱 Blocksets Toolboxes Blocksets Toolboxes中所包含的模塊集和工具箱如圖6 17所示 25 16 常用模塊庫(kù) CommonlyUsedBlocks CommonlyUsedBlocks庫(kù)中所包含的各個(gè)標(biāo)準(zhǔn)模塊如圖6 18所示 26 17 附加數(shù)學(xué)與離散模塊庫(kù) AdditionalMath Discrete 在AdditionalMath Discrete庫(kù)中包含了兩個(gè)標(biāo)準(zhǔn)模塊庫(kù) 附加數(shù)學(xué)庫(kù) AdditionalMath 和附加離散庫(kù) AdditionalDiscrete 27 2 Simulink模塊集的功能菜單為了充分利用Simulink中的各個(gè)標(biāo)準(zhǔn)模塊對(duì)控制系統(tǒng)進(jìn)行有效的動(dòng)態(tài)仿真 Simulink模塊集中設(shè)計(jì)了以下各個(gè)功能菜單 File文件操作菜單 Edit編輯菜單 View查看菜單 Help幫助菜單 28 File文件操作菜單New新建模型編輯窗口 模塊庫(kù)窗口Open打開模型文件Close關(guān)閉模型文件Save保存模型文件Saveas另存模型文件Sourecontrol來(lái)源控制Modelproperties模型屬性Preferences參數(shù)選擇Print打印Printersetup打印設(shè)置ExitMATLAB退出MATLAB 29 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連接選項(xiàng)Unlocklibrary解鎖庫(kù)Updatediagram更新圖標(biāo) 30 View查看菜單Gotoparent轉(zhuǎn)到根Toolbar顯示 關(guān)閉工具條開關(guān)Statusbar顯示 關(guān)閉狀態(tài)條開關(guān)Modelbrowseroptions模型瀏覽器選項(xiàng)Blockdatatipsoptions模塊信息選項(xiàng)Showlibrarybrowser顯示庫(kù)瀏覽器Zoomin放大模塊視圖Zoomout縮小模塊視圖Fitsystemtoview將框圖縮放到正好符合窗口的大小Normal顯示框圖的實(shí)際大小 Help幫助菜單 31 關(guān)于某些菜單的進(jìn)一步操作方法在后面的有關(guān)部分中將陸續(xù)詳細(xì)介紹 另外 當(dāng)在一個(gè)模型或模塊庫(kù)窗口上單擊鼠標(biāo)右鍵時(shí) 也會(huì)顯示前后相關(guān)的菜單 菜單的內(nèi)容取決于是否選中模塊 如果選中模塊 菜單顯示的命令僅僅適用于所選模塊 否則 菜單顯示的命令作用于整個(gè)模型或模塊庫(kù) 32 2 Simulink附加模塊集 SimulinkExtras 在Simulink庫(kù)瀏覽窗口的SimulinkExtras節(jié)點(diǎn)上 通過單擊鼠標(biāo)右鍵后 便可打開如圖6 21所示的SimulinkExtras模塊集窗口 33 在SimulinkExtras模塊集中附加了以下一些模塊庫(kù) 用鼠標(biāo)的左鍵雙擊各個(gè)模塊庫(kù)的圖標(biāo) 便可打開相應(yīng)的模塊庫(kù) 各模塊庫(kù)中所包含各個(gè)標(biāo)準(zhǔn)模塊的功能如下所示 附加接收模塊庫(kù) AdditionalSinks 附加離散系統(tǒng)模塊庫(kù) AdditionalDiscrete 附加線性模塊庫(kù) AdditionalLinear PIDController PID控制器模塊PIDController WithApproximateDerivative 具有實(shí)際微分的PID控制器模塊 轉(zhuǎn)換庫(kù) Transformations 觸發(fā)器庫(kù) FilpFlops 線性化庫(kù) Linearization 34 3 Simulink參數(shù)估計(jì)模塊集 SimulinkParameterEstimation 在Simulink庫(kù)瀏覽窗口的SimulinkParameterEstimation節(jié)點(diǎn)上 通過單擊鼠標(biāo)右鍵后 便可打開如圖6 22所示的SimulinkParameterEstimation庫(kù)窗口 35 4 Simulink響應(yīng)優(yōu)化模塊集 SimulinkResponseOptimization 在Simulink庫(kù)瀏覽窗口的SimulinkResponseOptimization節(jié)點(diǎn)上 通過單擊鼠標(biāo)右鍵后 便可打開如圖6 23所示的SimulinkResponseOptimization模塊集窗口 36 5 Simulink確認(rèn)模塊集 SimulinkVerificationandValidation 在Simulink庫(kù)瀏覽窗口的SimulinkVerificationandValidation節(jié)點(diǎn)上 通過單擊鼠標(biāo)右鍵后 便可打開如圖6 24所示的SimulinkVerificationandValidation模塊集窗口 37 6 Simulink控制設(shè)計(jì)模塊集 SimulinkControlDesign 在Simulink庫(kù)瀏覽窗口的SimulinkControlDesign節(jié)點(diǎn)上 通過單擊鼠標(biāo)右鍵后 便可打開如圖6 25所示的SimulinkControlDesign模塊集窗口 38 6 2模型的構(gòu)造 Simulink完全采用方框圖的 抓取 功能來(lái)構(gòu)造動(dòng)態(tài)系統(tǒng)模型 系統(tǒng)的創(chuàng)建過程就是繪制方框圖的過程 在Simulink環(huán)境中方框圖的繪制完全依賴于鼠標(biāo)操作 39 6 2 1模型編輯窗口若想新建一個(gè)控制系統(tǒng)結(jié)構(gòu)框圖 則首先應(yīng)該打開一個(gè)標(biāo)題為 Untitled 的空白模型編輯窗口 如圖6 26所示 圖6 26 40 創(chuàng)建一個(gè)新的模型編輯窗口有以下三種方法 在Simulink庫(kù)瀏覽窗口中 點(diǎn)擊工具條中的新建模型窗口按鈕 在Simulink庫(kù)窗口中選擇菜單命令File New Model 在MATLAB指令窗口中選擇菜單命令File New Model 41 模型編輯窗口由標(biāo)題 功能菜單和用戶模型編輯區(qū)三部分組成 在模型編輯窗口中允許用戶對(duì)系統(tǒng)的結(jié)構(gòu)圖進(jìn)行編輯 修改和仿真 對(duì)控制系統(tǒng)結(jié)構(gòu)框圖的繪制必須在用戶模型編輯區(qū)中進(jìn)行 結(jié)構(gòu)圖中所需的各種模塊 可直接從Simulink庫(kù)瀏覽窗口中的各模塊庫(kù) 集 中復(fù)制相應(yīng)的標(biāo)準(zhǔn)模塊得到 模型編輯窗口的標(biāo)題實(shí)際上是擴(kuò)展名為 mdl的模型文件名 它可利用菜單命令File Saveas將其任意更名保存 42 為了方便用戶建模 模型編輯窗口中設(shè)計(jì)了以下多種功能菜單 File文件操作菜單參Simulink模塊庫(kù)中功能菜單的File項(xiàng) Edit編輯菜單參Simulink模塊庫(kù)中功能菜單的Edit項(xiàng) View查看菜單參Simulink模塊庫(kù)中功能菜單的View項(xiàng) 43 Simulation仿真操作菜單Start開始仿真Stop停止仿真SimulationParameters仿真參數(shù)設(shè)置Normal正常的Accelerator加速的External外部的 44 Format格式菜單Font字體設(shè)置Textalignment文字對(duì)齊Flipname模塊名置于模塊的相反一邊Show Hidename顯示 隱藏模塊名Flipblock模塊旋轉(zhuǎn)180度Rotateblock模塊順時(shí)針方向旋轉(zhuǎn)90度ShowdropShadow顯示陰影Showportlabels顯示端口標(biāo)注Foregroundcolor前景顏色設(shè)置Backgroundcolor背景顏色設(shè)置Screencolor屏幕顏色設(shè)置 45 如果方框圖模型文件已經(jīng)存在 則可利用以下三種方法打開一個(gè)具有一定內(nèi)容的模型編輯窗口 在Simulink庫(kù)瀏覽窗口中 點(diǎn)擊工具條中的打開模型文件按鈕 然后選擇或者輸入要編輯的模型文件名 在庫(kù)窗口中選擇菜單命令File Open 然后選擇或者輸入要編輯的模型文件名 在MATLAB指令窗口中直接鍵入模型文件名 不帶 mdl擴(kuò)展名 46 6 2 2對(duì)象的選定在建模操作中 諸如拷貝一個(gè)模塊或者刪除一條連線 都需要首先選定一個(gè)或多個(gè)模塊或連線 我們把這些模塊或連線稱做對(duì)象 1 選定單個(gè)對(duì)象用鼠標(biāo)單擊待選對(duì)象 小黑四方塊的 句柄 就會(huì)出現(xiàn)在被選中模塊的四個(gè)角上 或在被選中連線的兩個(gè)端點(diǎn)旁 47 2 選定一組對(duì)象選定一組對(duì)象的方法有以下三種 選定一組不連續(xù)對(duì)象在按下Shift鍵的同時(shí) 用鼠標(biāo)單擊每一待選的對(duì)象 要取消一個(gè)已被選定的對(duì)象的選定狀態(tài) 在按下Shift鍵的同時(shí) 再一次用鼠標(biāo)單擊該對(duì)象 選定一組連續(xù)對(duì)象按住鼠標(biāo)左鍵向右下方拉出一個(gè)矩形虛線框 將所有待選模塊包圍在其中 然后松開按鍵 則矩形框里所有的對(duì)象同時(shí)被選中 48 選定整個(gè)模型要選定一個(gè)活動(dòng)窗口的所有對(duì)象 只要選擇窗口菜單下的Edit Selectall命令即可 但不能通過此種方法來(lái)選擇所有的模塊和連線來(lái)創(chuàng)建子系統(tǒng)模塊 如果想放棄選中的對(duì)象 則只需在空白處點(diǎn)擊即可 49 6 2 3模塊的操作模塊是Simulink模型構(gòu)造的基本元素 利用鼠標(biāo)點(diǎn)擊和拖拉方式可將仿真模塊庫(kù) 集 中標(biāo)準(zhǔn)模塊拷貝到用戶模型編輯窗口中 并使其相互連接 便可得到系統(tǒng)方框圖 50 1 模塊的復(fù)制1 從一個(gè)窗口復(fù)制模塊到另一個(gè)窗口建立模型時(shí) 會(huì)經(jīng)常從Simulink模塊庫(kù) 其它庫(kù) 集 或者模型編輯窗口中復(fù)制標(biāo)準(zhǔn)模塊到當(dāng)前正在編輯的模型編輯窗口中 復(fù)制標(biāo)準(zhǔn)模塊 可按以下步驟進(jìn)行 打開相關(guān)的模塊庫(kù) 集 或模型編輯窗口以及正在編輯的模型編輯窗口 51 將光標(biāo)定位于要復(fù)制的模塊上 按下鼠標(biāo)左鍵并保持住 拖動(dòng)鼠標(biāo)到正在編輯的模型編輯窗口中適當(dāng)位置 然后松開鼠標(biāo)左鍵 就會(huì)在選定的位置上復(fù)制出相應(yīng)的模塊 新復(fù)制的模塊和原模塊的名字相同 如果同一模塊在同一窗口中復(fù)制了一次以上 它們會(huì)自動(dòng)在模塊名字末加進(jìn)次序號(hào) 以資區(qū)別 新復(fù)制的模塊繼承了原模塊的所有參數(shù) 但在復(fù)制Sum Mux Demux和BusSelector模塊時(shí) Simulink會(huì)隱藏其名字 以避免模型圖中不必要的混亂 增加可讀性 由此可見 從一個(gè)窗口拖動(dòng)模塊到另一個(gè)窗口 其實(shí)是從一個(gè)窗口復(fù)制模塊到另一個(gè)窗口 52 2 在同一窗口中復(fù)制模塊在按下Ctrl鍵的同時(shí) 用鼠標(biāo)左鍵選中待復(fù)制的模塊后 將其拖到希望位置后 松開按鍵 便完成復(fù)制工作 如果采用鼠標(biāo)右鍵 以上拷貝過程中就省掉按Ctrl鍵了 另外 還可通過Edit菜單下的Copy和Paste命令來(lái)復(fù)制模塊 53 2 模塊的移動(dòng)1 從一個(gè)窗口移動(dòng)模塊到另一個(gè)窗口模塊的移動(dòng) 可按以下步驟進(jìn)行 打開相關(guān)的模塊庫(kù) 集 或模型編輯窗口以及正在編輯的模型編輯窗口 在按下Shift鍵的同時(shí) 從一個(gè)窗口拖動(dòng)模塊到另一個(gè)窗口 54 2 在同一窗口中移動(dòng)模塊在同一窗口中移動(dòng)單個(gè)模塊時(shí) 只需將光標(biāo)置于待移動(dòng)模塊圖標(biāo)上 按住鼠標(biāo)將模塊拖到合適的位置放開鼠標(biāo)即可 模塊移動(dòng)時(shí) 與模塊的連線也隨之移動(dòng) 這時(shí)Simulink將會(huì)自動(dòng)地重畫與被移動(dòng)模塊相連的連線 當(dāng)移動(dòng)多個(gè)模塊及其連線時(shí) 首先要選中要移動(dòng)的模塊和連線 然后把光標(biāo)置于待移動(dòng)模塊及其連線的任一處 將其拖動(dòng)到指定位置即可 另外 也可通過Edit菜單下的Cut和Paste命令來(lái)移動(dòng)模塊 55 3 模塊的刪除按Delete或Backspace鍵即可以刪除所選定的一個(gè)或多個(gè)模塊 另外 也可通過Edit菜單下的Cut或Clear命令來(lái)刪除所選定的模塊 但Edit Cut命令 可將選定的模塊移到Windows的剪貼板上 可供Edit Paste命令重新粘貼 56 4 模塊的旋轉(zhuǎn)因從標(biāo)準(zhǔn)模塊庫(kù)中復(fù)制到模型編輯窗口中模塊 在默認(rèn)狀態(tài)下是輸入端 大于符號(hào) 在左 而輸出端 三角符號(hào) 在右 在繪制系統(tǒng)方框圖時(shí) 有時(shí)為了使得連線更容易 避免不必要的交叉線 增加框圖的可讀性 需要對(duì)某些模塊翻轉(zhuǎn)或旋轉(zhuǎn) 使得其輸入端和輸出端改變方向 如在反饋回路中的模塊希望輸入端在右輸出端在左 在Simulink下實(shí)現(xiàn)這一功能是輕而易舉的事情 首先用鼠標(biāo)選中要旋轉(zhuǎn)處理的模塊 然后執(zhí)行Format Flipblock命令將對(duì)此模塊旋轉(zhuǎn)180度 或執(zhí)行Format Rotateblock命令將對(duì)此模塊順時(shí)針方向旋轉(zhuǎn)90度 57 6 2 4模塊間的連接線系統(tǒng)框圖中的信號(hào)沿模塊間的連接線傳輸 連接線可傳輸標(biāo)量或向量信號(hào) 1 模塊間的連接線模塊間的連接線是從某模塊的輸出端 三角符號(hào) 出發(fā)直指另一模塊的輸入口 大于符號(hào) 的有向線段 它的生成方法是 把鼠標(biāo)光標(biāo)移到起點(diǎn)模塊的輸出端 按鼠標(biāo)左右的任何一鍵 看到光標(biāo)變?yōu)?字后 拖動(dòng) 字光標(biāo)到終點(diǎn)模塊的輸入端 再釋放鼠標(biāo)按鈕 則會(huì)自動(dòng)產(chǎn)生一條帶箭頭的線段 將兩個(gè)模塊連接起來(lái) 箭頭方向表示信號(hào)流向 如想消去某段連線 可先用鼠標(biāo)單擊的方法選定該連線后 按Delete鍵 則可刪除用方塊標(biāo)定的連線 58 2 畫支線支線是從一條已存在的有向線段上任意一點(diǎn)出發(fā) 指向另一模塊輸入口的有向線段 已存在的有向線段和支線傳輸?shù)氖窍嗤男盘?hào) 使用支線可以將一個(gè)信號(hào)傳輸給多個(gè)模塊 它也一般用于連接方框圖中的反向模塊 這類支線生成的方法是 把鼠標(biāo)光標(biāo)移到有向線段上的任意點(diǎn)處 在按下Ctrl鍵的同時(shí) 按下鼠標(biāo)左鍵 光標(biāo)由箭頭變?yōu)?字 拖動(dòng)鼠標(biāo)到適當(dāng)位置后放開左鍵 屏幕上就出現(xiàn)一條由此點(diǎn)引出的箭頭線 再?gòu)拇思^開始按住鼠標(biāo)左右任何一鍵 沿另一方向拖到適當(dāng)位置后松開按鍵 照此操作 直到整個(gè)支線繪完為止 如果采用鼠標(biāo)右鍵 以上過程中就省掉按Ctrl鍵了 59 6 2 5模型的保存在模型編輯窗口中編輯好系統(tǒng)結(jié)構(gòu)框圖后 可用窗口中的菜單命令File Save將其保存為模型文件 擴(kuò)展名為 mdl 模型文件中存有模塊圖和模塊的一些屬性 它是以ASCII碼形式存儲(chǔ)的 它也可用窗口中的菜單命令File Saveas將其任意更名保存 模型文件名必須是以字母開頭的且不能超過31個(gè)字母 數(shù)字和下劃線組成的字符串 60 例6 1建立如圖6 27所示的系統(tǒng)模型 并將其保存為ex6 1 mdl模型文件 圖6 27 61 6 2 6模塊名字的處理1 模塊名字的修改模塊名字是指標(biāo)識(shí)模塊圖標(biāo)的字符串 為了增加可讀性 那些被用戶所復(fù)制到用戶窗口中的標(biāo)準(zhǔn)模塊的標(biāo)題常作必要的修改 具體方法如下 先用鼠標(biāo)單擊所選標(biāo)題 輸入新的標(biāo)題 MATLAB7 4版僅限西文字符 MATLAB6 5版中西文均可 然后用鼠標(biāo)單擊窗口中的任一地方 修改工作完成 模塊名字的字體 字形和大小也可通過選擇菜單命令Format Font來(lái)改變 62 2 模塊名字位置的改變模型中所有模塊的名字都必須是唯一的 并且必須包含至少一個(gè)字符 缺省情況下 如果模塊的端口在它的左右兩邊時(shí) 模塊的名字顯示在它的下面 而如果模塊的端口在它的上下兩邊時(shí) 模塊的名字顯示在它的左邊 但所選模塊的模塊名字可通過以下兩種方法改變位置 1 將模塊名用鼠標(biāo)拖至模塊相反的一邊 2 選擇菜單命令Format Flipname 可將所選模塊的名字置于模塊的相反一邊 63 3 改變是否顯示模塊名字選擇Format菜單下的Hidename或Showname命令 便可隱藏或顯示所選模塊的模塊名 64 6 2 7模塊內(nèi)部參數(shù)的修改被復(fù)制到用戶窗口中的各種模塊 開始包含著與原始標(biāo)準(zhǔn)模塊一樣的內(nèi)部參數(shù)設(shè)置 即內(nèi)部參數(shù)開始均為缺省值 如 階躍輸入函數(shù)模塊 StepFcn 的缺省的階躍時(shí)刻是1 而不是0 傳遞函數(shù)模塊 TranceferFcn 的缺省值為1 s 1 等 為了適合用戶的不同需要 常需對(duì)模塊的內(nèi)部參數(shù)作必要的修改 具體操作如下 用鼠標(biāo)的左鍵雙擊待修改內(nèi)部參數(shù)模塊的圖標(biāo) 則可打開該模塊的參數(shù)設(shè)置對(duì)話框 通過改變對(duì)話框中適當(dāng)欄目中的數(shù)據(jù)便可 在參數(shù)設(shè)置時(shí)任何MATLAB工作內(nèi)存中已有的變量 合法表達(dá)式和MATLAB語(yǔ)句等都可以填寫在設(shè)置欄中 某些模塊的方框大小是可以用鼠標(biāo)操作調(diào)整的 65 例6 2把例6 1中的系統(tǒng)模型修改成圖6 28所示的系統(tǒng)模型 圖6 28 66 解 對(duì)傳遞函數(shù)模塊參數(shù)的修改 對(duì)求和模塊輸入極性的修改 67 6 2 8模塊的標(biāo)量擴(kuò)展標(biāo)量擴(kuò)展是指將一個(gè)標(biāo)量值轉(zhuǎn)變成一個(gè)具有相同元素的向量 幾乎所有的模塊都能接受標(biāo)量輸入或向量輸入 產(chǎn)生標(biāo)量或向量輸出 并且允許用戶來(lái)定義標(biāo)量或向量參數(shù) 這樣的模塊將稱之為向量化了的模塊 用戶可通過Format菜單中的Widenonscalarlines命令來(lái)定義模型中的哪些信號(hào)線傳遞的是向量信號(hào) 并且將向量信號(hào)連線用粗線表示 標(biāo)量信號(hào)連線用細(xì)線表示 利用Edit菜單中選擇UpdateDiagram選項(xiàng)可隨時(shí)更新顯示 另外 在仿真開始時(shí)也可進(jìn)行這樣的更新顯示 68 1 輸入的標(biāo)量擴(kuò)展當(dāng)模塊有一個(gè)以上的輸入時(shí) 可以把向量輸入和標(biāo)量輸入混合起來(lái) 在這種情況下 那個(gè)標(biāo)量輸入信號(hào)就要進(jìn)行標(biāo)量擴(kuò)展 形成一個(gè)具有和向量輸入信號(hào)維數(shù)一樣的具有相同元素的向量 如圖6 29所示 69 2 參數(shù)的標(biāo)量擴(kuò)展對(duì)于可以進(jìn)行標(biāo)量擴(kuò)展的那些模塊 其參數(shù)既可以定義為標(biāo)量 也可以定義為向量 當(dāng)為一個(gè)向量參數(shù)時(shí) 向量參數(shù)中的每一個(gè)元素與輸入向量中的每一個(gè)元素相對(duì)應(yīng) 而當(dāng)定義為一個(gè)標(biāo)量參數(shù)時(shí) Simulink就對(duì)標(biāo)量參數(shù)進(jìn)行標(biāo)量擴(kuò)展 自動(dòng)形成一個(gè)具有相應(yīng)維數(shù)的向量 如圖6 30所示 70 3 顯示 關(guān)閉連線的寬度可以通過選擇菜單命令Format Port Signaldisplays WidenonscalarLines來(lái)顯示和關(guān)閉模型中用粗線表示的向量信號(hào)連線 4 信號(hào)標(biāo)注要對(duì)某一連線進(jìn)行標(biāo)注 只需雙擊標(biāo)注處 并且在插入點(diǎn)處輸入標(biāo)注即可 標(biāo)注可移動(dòng)到連線的任何位置 標(biāo)注的字體 字形和大小也可通過選擇菜單命令Format Font來(lái)改變 71 6 3連續(xù)系統(tǒng)的數(shù)字仿真 創(chuàng)建好系統(tǒng)模型后 就可以在用戶模型窗口中利用Simulink的菜單命令或者在MATLAB的命令窗口中利用MATLAB的指令操作方式對(duì)系統(tǒng)進(jìn)行仿真了 72 6 3 1利用Simulink菜單命令進(jìn)行仿真 Simulink的菜單命令方式對(duì)于交互式工作非常方便 這種在Simulink窗口下進(jìn)行的仿真最直觀 它可使用Scopes或者其他的顯示模塊 在運(yùn)行仿真時(shí)觀察仿真結(jié)果 仿真的結(jié)果還可保存到MATLAB工作空間的變量中 以待進(jìn)一步的處理 另外 在這種仿真方式下 無(wú)論是對(duì)框圖模型本身還是對(duì)數(shù)值算法及參數(shù)的選擇都可以很方便地修改和操縱 模型及仿真參數(shù)不僅在仿真前允許編程和修改 而且在仿真過程中也允許作一定程度的修改 在這種菜單仿真方式下 在一個(gè)系統(tǒng)仿真的同時(shí) 允許打開另一個(gè)系統(tǒng) 73 在啟動(dòng)仿真開始之前 首先應(yīng)選擇系統(tǒng)模型窗口中的Simulation ConfigurationParameters命令來(lái)設(shè)置仿真算法和參數(shù) 這時(shí)將給出一個(gè)如圖6 31所示的對(duì)話框 它包括七個(gè)頁(yè)面和四個(gè)功能按鈕 其中 前兩個(gè)頁(yè)面是經(jīng)常需要用戶改變?cè)O(shè)置的 圖6 31 74 1 求解器 Solver 頁(yè)面該頁(yè)面用來(lái)設(shè)置仿真開始和停止時(shí)間 選擇仿真算法和指定算法的參數(shù)等 如圖6 31所示 1 仿真時(shí)間 Simulationtime 仿真時(shí)間是由參數(shù)對(duì)話框中的開始時(shí)間 StartTime 和停止時(shí)間 StopTime 框中的內(nèi)容來(lái)確定的 它們均可修改 缺省的開始時(shí)間為0 0秒 停止時(shí)間為10 0秒 在仿真過程中允許實(shí)時(shí)修改仿真的終止時(shí)間 StopTime 75 2 求解器選項(xiàng) Solveroptions 仿真涉及常微分方程組的數(shù)值積分 由于動(dòng)態(tài)系統(tǒng)行為的多樣性 目前還沒有一種算法能夠保證所有模型的數(shù)值仿真結(jié)果總是準(zhǔn)確 可靠的 為此 Simulink提供了變步長(zhǎng) Variable step 和定步長(zhǎng) Fixed step 兩大類數(shù)值積分算法供用戶選擇 對(duì)于變步長(zhǎng)算法 可以設(shè)定最大步長(zhǎng) Maxstepsize 最小步長(zhǎng) Minstepsize 起始步長(zhǎng) Initialstepsize 相對(duì)容差 Relativetolerance 和絕對(duì)容差 Absolutetolerance 對(duì)于定步長(zhǎng)算法 可以設(shè)定固定步長(zhǎng) Fixedstepsize 和選擇仿真模式 Mode 因此為得到準(zhǔn)確仿真結(jié)果 用戶必須針對(duì)不同模型仔細(xì)選擇算法及參數(shù) 76 1 仿真算法在求解器選項(xiàng) Solveroptions 最上面的兩個(gè)選擇框中 可選擇相應(yīng)的仿真算法 變步長(zhǎng) Variable step 算法可以選擇的變步長(zhǎng)算法有以下幾種 缺省情況下 連續(xù)系統(tǒng)采用ode45 離散系統(tǒng)采用discrete 定步長(zhǎng) Fixed step 算法可以選擇的定步長(zhǎng)算法有以下幾種 77 2 仿真步長(zhǎng)在求解器選項(xiàng) Solveroptions 下面的選擇框中 對(duì)于變步長(zhǎng)算法 可以設(shè)定最大步長(zhǎng) Maxstepsize 最小步長(zhǎng) Minstepsize 和起始步長(zhǎng) Initialstepsize 對(duì)于定步長(zhǎng)算法 可以設(shè)定固定步長(zhǎng) Fixedstepsize 缺省情況下 這些參數(shù)均為auto 即這些參數(shù)將被自動(dòng)地設(shè)定 對(duì)于變步長(zhǎng)算法 采用變步長(zhǎng)的方法進(jìn)行仿真 仿真開始時(shí)是以起始步長(zhǎng)作為計(jì)算步長(zhǎng)的 在仿真過程中 算法會(huì)把算得的局部估計(jì)誤差與誤差容限相比較 在滿足仿真精度的前提下 自動(dòng)拉大步長(zhǎng) 提高計(jì)算效率 78 一般情況下 最大步長(zhǎng)可以選擇一個(gè)較大的數(shù)值 但如果選擇的過大 可能會(huì)出現(xiàn)在仿真點(diǎn)處仿真結(jié)果是正確的 但仿真曲線不是很光滑的情況 故最大步長(zhǎng)一般選擇為仿真范圍的1 50 通常 最小步長(zhǎng)都取的很小 但如果取的太小 會(huì)增大計(jì)算量 仿真的最小步長(zhǎng)和最大步長(zhǎng)均可在仿真過程中進(jìn)行實(shí)時(shí)修改 79 3 誤差容限相對(duì)容差 Relativetolerance 和絕對(duì)容差 Absolutetolerance 中所填寫的容差值是用來(lái)定義仿真精度的 在變步長(zhǎng)仿真過程中 算法會(huì)把算得的局部估計(jì)誤差與這里填寫的容許誤差限來(lái)相比較 當(dāng)誤差超過這一誤差限時(shí)會(huì)自動(dòng)地對(duì)仿真步長(zhǎng)作適當(dāng)?shù)男拚?所以說在變步長(zhǎng)仿真時(shí) 誤差限的設(shè)置是很重要的 它將關(guān)系到微分方程求解的精度 誤差限經(jīng)常在0 1和1e 6之間取值 它越小 積分的步數(shù)就越多 精度也越高 但是過小 如1e 10 由于計(jì)算舍入誤差的顯著增加 而影響整個(gè)精度 誤差限在仿真過程中允許實(shí)時(shí)修改 80 4 仿真模式 Mode 在采用定步長(zhǎng) Fixed step 算法進(jìn)行仿真時(shí) 需要在求解器選項(xiàng) Solveroptions 下面的仿真模式 Mode 選擇框列表中選擇仿真模式 多任務(wù)模式 MultiTasking 如果檢測(cè)到模塊間進(jìn)行非法采樣類轉(zhuǎn)換 即直接相連模塊之間以不同的采樣類運(yùn)算 單模式會(huì)出現(xiàn)錯(cuò)誤 在實(shí)時(shí)多任務(wù)系統(tǒng)中 任務(wù)間非法采樣類轉(zhuǎn)換可能導(dǎo)致當(dāng)另一個(gè)任務(wù)需要時(shí) 某一任務(wù)輸出不能用 通過此類轉(zhuǎn)換檢查 多任務(wù)模式可以幫助創(chuàng)建現(xiàn)實(shí)中的合法的多任務(wù)系統(tǒng)模型 模型中何處表示是同時(shí)執(zhí)行的任務(wù) 81 單任務(wù)模式 SingleTasking 該模式不檢查模塊間的采樣類轉(zhuǎn)換 該模式對(duì)于建造單任務(wù)系統(tǒng)模型非常有用 在此類系統(tǒng)中 任務(wù)同步不是問題 自動(dòng)模式 Auto 當(dāng)選用此模式時(shí) 如果模型中所有模塊運(yùn)行于同樣的采樣率下 Simulink使用單任務(wù)模式 如果模型包含有不同采樣率運(yùn)行的模塊 則使用多任務(wù)模式 82 3 輸出選項(xiàng) Outputoptions 在輸出選項(xiàng) Outputoptions 中 可以選擇以下三種輸出 1 細(xì)化輸出 Refineoutput 2 產(chǎn)生額外的輸出 Produceadditionaloutput 3 只產(chǎn)生指定的輸出 Producespecifiedoutputonly 83 2 數(shù)據(jù)輸入 輸出 DataImport Export 頁(yè)面該頁(yè)面可以將仿真的輸出結(jié)果保存到MATLAB的工作空間變量中 也可以從MATLAB的工作空間取得輸入和初始狀態(tài) 如圖6 32所示 圖6 32 84 1 從MATLAB的工作空間裝入輸入和初始狀態(tài) Loadfromworkspace 系統(tǒng)開始仿真時(shí)的初始狀態(tài) 通常在模塊中指定 也可以在DataImport Export頁(yè)的Loadfromworkspace域的初始狀態(tài) Initialstates 編輯框中重新指定 以重新裝載在模塊中指定的初始條件 在仿真運(yùn)行期間 Simulink也可以把MATLAB工作空間的變量值當(dāng)作模型的輸入信號(hào) 它是通過輸入端口輸入到模型中 要指定這一選項(xiàng) 在DataImport Export頁(yè)面的Loadfromworkspace域中 選中Input選框 然后在其后的編輯框中輸入外部輸入變量 缺省內(nèi)容為 t u 并選擇Apply或OK按鈕 85 外部輸入可以采用下列任何一種形式 l 外部輸入矩陣 Array 外部輸入矩陣的第一列必須是升序排列的時(shí)間向量 其余列指定輸入值 每列代表不同輸入模塊信號(hào)序列 每行則是相應(yīng)時(shí)間的輸入值 如果選擇了數(shù)據(jù)插值 interpolatedata 選項(xiàng) 必要時(shí)Simulink對(duì)輸入值進(jìn)行線性插值或外推 輸入矩陣的總列數(shù)必須等于n l 其中n為進(jìn)入模型的信號(hào)輸入端口總數(shù) 如果在MATLAB工作空間中定義了t和u 則可以直接采用缺省的外部輸入標(biāo)識(shí) t u 86 2 具有時(shí)間的結(jié)構(gòu) StructurewithTime Simulink可以從MATLAB工作空間中讀入結(jié)構(gòu)形式的數(shù)據(jù) 但其名字必須在Input后的編輯框中指定 輸入結(jié)構(gòu)必須有兩個(gè)字段 時(shí)間和信號(hào) 時(shí)間字段包含一列仿真時(shí)間的向量 信號(hào)字段包含子結(jié)構(gòu)數(shù)組 每個(gè)對(duì)應(yīng)模型的一個(gè)輸出端口 每個(gè)子結(jié)構(gòu)有字段 值 值字段包含相應(yīng)輸入端口的輸入列向量 87 3 結(jié)構(gòu) Structure 結(jié)構(gòu)格式與具有時(shí)間的結(jié)構(gòu)格式一樣 只是其時(shí)間字段為空 如在上例中 可以指定 ex time 4 外部輸入時(shí)間表達(dá)式 Externalinputtimeexpression 時(shí)間表達(dá)式可以是任何MATLAB表達(dá)式 計(jì)算行向量 其長(zhǎng)度與模型輸入端口的信號(hào)數(shù)一樣 88 2 將結(jié)果保存到MATLAB的工作空間變量中 Savetoworkspace Simulink將仿真結(jié)果存放在SavetoWorksPace域中指定名字的向量中 它可以通過在WorkspaceI O頁(yè)面的Savetoworkspace域中 任意選擇時(shí)間 Time 狀態(tài) States 輸出 Output 和最終狀態(tài) Finalstate 選框 并指定返回的變量名 變量名即可任意指定 也可采用默認(rèn)值 若要將某一結(jié)果輸出到多個(gè)變量中 可在此參數(shù)輸入框中同時(shí)指定多個(gè)變量名 各變量名之間用逗號(hào)分開后外加方括號(hào) 指定的返回變量使得Simulink將時(shí)間 狀態(tài) 輸出和最終狀態(tài)值的軌跡輸出到MATLAB工作空間中 以便進(jìn)一步對(duì)其分析 如果想保存一個(gè)穩(wěn)定狀態(tài)的結(jié)果并從那個(gè)已知的狀態(tài)重新啟動(dòng)仿真 那么保存最終狀態(tài) Finalstate 將非常有用 89 可以通過Saveoptions域來(lái)指定輸出存儲(chǔ)的格式和限制保存輸出的數(shù)量 其格式選項(xiàng)可以采用下列任何一種形式 l 矩陣 Array Simulink將所選定的以上輸出結(jié)果分別存儲(chǔ)在SavetoWorkspace域中各編輯框命名的矩陣中 缺省值分別為tout xout yout和xFinal 矩陣的每一列與模型的一個(gè)輸出或狀態(tài)相對(duì)應(yīng) 第一行與初始時(shí)間相對(duì)應(yīng) 90 2 具有時(shí)間的結(jié)構(gòu) StructurewithTime Simulink保存模型的結(jié)果到一個(gè)結(jié)構(gòu)中 該結(jié)構(gòu)的名字是由SavetoWorkspace域中各編輯框命名的 該結(jié)構(gòu)有兩個(gè)頂層字段 時(shí)間和信號(hào) 時(shí)間字段包含仿真時(shí)間向量 信號(hào)字段包含子結(jié)構(gòu)數(shù)組 每個(gè)子結(jié)構(gòu)對(duì)應(yīng)一個(gè)模型輸出端口或與具有狀態(tài)的模塊相對(duì)應(yīng) 每個(gè)子結(jié)構(gòu)包含三個(gè)字段 值 標(biāo)簽 模塊名 值字段包含相應(yīng)輸出端口的輸出向量 標(biāo)簽字段指定與輸出相連的信號(hào)標(biāo)簽 模塊名字段指定輸出端口的名字 Simulink存儲(chǔ)模型的狀態(tài)到一個(gè)結(jié)構(gòu)組成相同的模型輸出結(jié)構(gòu)中 91 3 結(jié)構(gòu) Structure 該格式與前面所述的結(jié)構(gòu)基本一樣 只是不保存仿真時(shí)間到結(jié)構(gòu)的時(shí)間字段中 要限制保存數(shù)據(jù)的行數(shù) 可選擇Limitrowstolast編輯框 并指定保存的行數(shù) 要使用抽取 Decimation 因子 在Decimation文本框中輸入數(shù)值 例如 在Decimation文本框中輸入的值為2時(shí) 產(chǎn)生的點(diǎn)將每隔一個(gè)保存一個(gè) 此外如果計(jì)算出來(lái)的結(jié)果太多 也可以改變Limitrowsoflast 限用最后的點(diǎn)數(shù) 引導(dǎo)的編輯框來(lái)進(jìn)行設(shè)置 在一般情況下 該參數(shù)選擇為1000也就足夠了 92 3 優(yōu)化 Optimazition 頁(yè)面在該頁(yè)面中 可以選擇不同的選項(xiàng)來(lái)提高仿真性能以及產(chǎn)生代碼的性能 其中 SimulationandcodeGeneration欄設(shè)置對(duì)模型仿真及代碼生成共同有效 CodeGeneration欄設(shè)置僅對(duì)代碼生成有效 93 4 診斷 Diagnostics 頁(yè)面在診斷頁(yè)面中 可以設(shè)定一致性檢查 Consistencychecking 和邊界檢查 Boundschecking 對(duì)于每一事件類型 可以選擇是否需要提示消息 是警告消息還是錯(cuò)誤消息 警告消息不會(huì)終止仿真 錯(cuò)誤消息則會(huì)終止仿真的運(yùn)行 94 5 硬件設(shè)置 HardwareImplementation 頁(yè)面該頁(yè)面主要針對(duì)于計(jì)算機(jī)系統(tǒng)模型 如嵌入式控制器 允許設(shè)置這些用來(lái)執(zhí)行模型所表示系統(tǒng)的硬件參數(shù) 6 模型參考 ModeiReferencing 頁(yè)面該頁(yè)面允許用戶設(shè)置模型中的其它子模型 或者包含在其它模型中的此模型 以便仿真的調(diào)試和目標(biāo)代碼的生成 7 實(shí)時(shí)工作空間 Real timeWorkshop 頁(yè)面在該頁(yè)面中 可以設(shè)置影響Real timeWorkshop生成代碼和構(gòu)建可執(zhí)行文件的諸多參數(shù)和選項(xiàng) 95 6 3 2仿真結(jié)果分析設(shè)置完以上仿真控制參數(shù)后 則可選擇Simulation Start命令來(lái)啟動(dòng)仿真過程 在仿真結(jié)束時(shí)會(huì)自動(dòng)發(fā)出一聲鳴叫 在仿真過程中還允許采用Simulation菜單下的Pause和Continue命令來(lái)暫?;蚶^續(xù)仿真過程 若選擇Simulation Stop命令 則人為中止仿真過程 結(jié)果分析有助于模型的改進(jìn)和完善 同時(shí)結(jié)果分析也是仿真的主要目的 仿真結(jié)果可采用以下幾種方法得到 96 1 利用示波器模塊 Scope 得到輸出結(jié)果當(dāng)利用示波器模塊作輸出時(shí) 它不僅會(huì)自動(dòng)地將仿真的結(jié)果從示波器上實(shí)時(shí)地顯示出來(lái) 而且也可同時(shí)把示波器緩沖區(qū)存儲(chǔ)的數(shù)據(jù) 送到MATLAB工作空間指定的變量中保存起來(lái) 以便利用繪圖命令在MATLAB命令窗口里繪制出圖形 97 在示波器模塊的窗口中 利用快捷按鈕 可打開如圖6 35所示的示波器模塊參數(shù) parameters 對(duì)話框 示波器參數(shù)對(duì)話框中有兩個(gè)頁(yè)面 圖6 35 a 為一般參數(shù)設(shè)置 General 圖6 35 b 為數(shù)據(jù)存儲(chǔ)參數(shù)設(shè)置 Datahistory 圖6 35 98 例6 4對(duì)圖6 36所示的系統(tǒng)進(jìn)行仿真 圖6 36 99 解 在求解器選項(xiàng) Solveroptions 頁(yè)面中 把固定步長(zhǎng) Fixed stepsize 一欄中的默認(rèn)值auto改為0 05 以確保最大仿真步長(zhǎng)小于周期的1 10 否則波形就失真 設(shè)置完參數(shù)后用鼠標(biāo)單擊 OK 按鈕接收新參數(shù) 同時(shí)關(guān)閉此對(duì)話框 在Simulink中 仿真中的動(dòng)態(tài)數(shù)據(jù)的計(jì)算都是由數(shù)值積分實(shí)現(xiàn)的 盡管本例從信號(hào)發(fā)生器到示波器沒通過其他環(huán)節(jié) 實(shí)際上可認(rèn)為經(jīng)過一個(gè)增益為1的比例環(huán)節(jié) 但動(dòng)態(tài)數(shù)據(jù)仍是經(jīng)數(shù)值積分計(jì)算得到的 因此在仿真前 仍需執(zhí)行Simulation ConfigurationParameters命令來(lái)設(shè)置仿真控制面板中相應(yīng)的參數(shù) 參圖6 31 100 選擇Simulation Start命令啟動(dòng)仿真過程 便可在示波器上看到相應(yīng)的曲線 另外 在MATLAB命令窗口中利用以下命令 便可得到如圖6 38所示的輸出曲線 plot y 1 y 2 title sin 圖6 38 101 除了示波器形象的輸出之外 用戶還可以用ToWorkspace模塊或Out1模塊將仿真結(jié)果返回到MATLAB的工作空間變量中 這樣返回的結(jié)果當(dāng)然可以利用MATLAB命令來(lái)進(jìn)一步處理 102 2 利用輸出接口模塊 Out1 得到輸出結(jié)果利用輸出接口 Out1 模塊把仿真結(jié)果返回到MATLAB的工作空間時(shí) 就必須選定圖6 32所示的DataImport Export頁(yè)面中的時(shí)間變量 Time 和輸出變量 Output 對(duì)話框 對(duì)話框中的變量名即可采用默認(rèn)的 也可根據(jù)需要更名 狀態(tài)變量 States 和終值狀態(tài)變量 Finalstate 對(duì)話框?yàn)槿芜x 103 例6 5對(duì)圖6 39所示的模型框圖進(jìn)行仿真 圖6 39 104 選擇Simulation ConfigurationParameters命令 打開仿真參數(shù)控制面板 在圖6 31所示的求解器選項(xiàng) Solveroptions 頁(yè)面 把終止時(shí)間 Stoptime 欄中的內(nèi)容改為20 其余參數(shù)采用默認(rèn)值 在圖6 32所示的數(shù)據(jù)輸入 輸出 DataImport Export 頁(yè)面 把時(shí)間變量 Time 和輸出變量 Output 對(duì)話框中的變量改為t和y 其余參數(shù)采用默認(rèn)值 按 OK 鍵返回 選擇Simulation Start命令開始仿真 等聽到一聲嘟后仿真便結(jié)束 此時(shí)可返到MATLAB工作窗口 運(yùn)行命令 plot t y 105 便可得到圖6 40所示的輸出響應(yīng)曲線 106 3 利用把數(shù)據(jù)傳送到工作空間模塊 ToWorkspace 得到輸出結(jié)果 利用ToWorkspace模塊向MATLAB工作空間傳送數(shù)據(jù)時(shí) 應(yīng)該為其指定一個(gè)變量名 它是通過用鼠標(biāo)左鍵雙擊該模塊的圖標(biāo)來(lái)完成的 這將給出如圖6 41所示的對(duì)話框 用戶可以在Variablename 變量名 引導(dǎo)的編輯框中輸入相應(yīng)的變量名 107 例6 6對(duì)圖6 42所示系統(tǒng)模型進(jìn)行仿真 圖6 42 108 MATLAB工作窗口 運(yùn)行命令 plot t y 便可得到如圖6 43所示的圖形 109 6 3 3利用MATLAB的指令操作方式進(jìn)行仿真除了利用Simulink菜單對(duì)系統(tǒng)進(jìn)行仿真外 還可以在MATLAB工作窗口中 利用命令函數(shù)sim 或ode45 對(duì)系統(tǒng)進(jìn)行仿真 MATLAB命令行方式對(duì)于處理成批的仿真比較有用 110 1 利用函數(shù)sim 進(jìn)行仿真當(dāng)系統(tǒng)的數(shù)學(xué)模型以系統(tǒng)結(jié)構(gòu)圖描述時(shí) 在MATLAB的工作窗口中 通常利用函數(shù)sim 對(duì)系統(tǒng)進(jìn)行仿真 函數(shù)sim 的調(diào)用格式為 t x y sim model tf options ut 或 t x y1 y2 yn sim model tf options ut 111 例6 8對(duì)例6 5中圖6 39所示系統(tǒng)進(jìn)行初始狀態(tài)不同設(shè)置的仿真 解 對(duì)于圖6 39所示的系統(tǒng)模型ex6 5 在數(shù)據(jù)輸入 輸出 DataImport Export 頁(yè)面中 選定從工作空間輸入?yún)?shù)功能欄 Loadfromworkspace 中的初始狀態(tài)選擇框 Initialstate 并輸入初始狀態(tài)向量 0 50 其余參數(shù)同例6 5 在接收以上參數(shù)后 將其另存為模型文件ex6 8 在MATLAB指令窗口中 運(yùn)行以下指令 可得圖6 45所示的相軌跡圖 t x1 y1 sim ex6 5 20 t x2 y2 sim ex6 8 20 plot x1 1 x1 2 r x2 1 x2 2 b legend 零初始狀態(tài) 非零初始狀態(tài) 112 對(duì)圖6 42所示框圖模型 采用以上命令將不可能獲得輸出響應(yīng) 因?yàn)門oWorkspace模塊不同于輸出接口模塊 out1 因由這條指令運(yùn)行所得的輸出y將是空 圖6 45 113 2 利用函數(shù)ode45 進(jìn)行仿真當(dāng)系統(tǒng)的數(shù)學(xué)模型以微分方程給出時(shí) 通常在MATLAB的工作窗口中 利用函數(shù)ode45 對(duì)系統(tǒng)進(jìn)行仿真求解運(yùn)算 函數(shù)ode45 的調(diào)用格式為 t x ode45 fun tspan x0 tol 其中 fun為函數(shù)名 為用來(lái)描述系統(tǒng)狀態(tài)方程的M函數(shù)文件 tspan為仿真時(shí)間區(qū)間 當(dāng)其為標(biāo)量tf時(shí) 默認(rèn)仿真時(shí)間區(qū)間為 0 tf 當(dāng)其為二元行向量 t0 tf 時(shí) 仿真時(shí)間區(qū)間為 t0 tf x0為狀態(tài)方程的初始向量值 tol用來(lái)指定精度 其默認(rèn)值為10 3 返回變量t為時(shí)間 x為狀態(tài)方程的解向量 114 另外 利用函數(shù)ode45 ode23 ode113 ode15s ode23s ode23t 和ode23tb 也可對(duì)系統(tǒng)進(jìn)行同樣的仿真 他們的調(diào)用格式與函數(shù)ode45 完全相同 這些函數(shù)的使用范圍與Simulink求解器選項(xiàng) Solveroptions 中變步長(zhǎng)仿真算法相對(duì)應(yīng) 115 例6 9求微分方程在其初始條件下的解 解首先根據(jù)以上微分方程編寫一個(gè)函數(shù)ex6 9 m ex6 9 mfunctiondx ex6 9 t x dx x 2 1 x 1 2 x 2 x 1 再利用以下MATLAB命令 即可求出微分方程在時(shí)間區(qū)間 0 30 上的解曲線 見圖1 10 t x ode45 ex6 9 0 30 1 0 plot t x 1 t x 2 xlabel t ylabel x t 116 6 3 4模塊參數(shù)的動(dòng)態(tài)交換1 在MATLAB工作空間中定義變量框圖模塊在仿真時(shí)所

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論