




已閱讀5頁,還剩95頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
計算機(jī)仿真技術(shù) 第五講基于MATLAB Simulink的建模與仿真 MATLAB軟件簡介MATLAB仿真實例什么是Simulink Simulink模塊庫簡介Simulink模型的建立方法Simulink建模與仿真舉例小結(jié) MATLAB軟件簡介 MATLAB是一門計算機(jī)編程語言 是一種科學(xué)計算軟件 取名來源于MatrixLaboratory 本意是專門以矩陣的方式來處理計算機(jī)數(shù)據(jù) MATLAB將高性能的數(shù)值計算和可視化集成在一起 并提供了大量的內(nèi)置函數(shù) 被廣泛應(yīng)用在科學(xué)計算 信息處理 控制系統(tǒng)等領(lǐng)域的分析 仿真和設(shè)計工作 MATLAB的功能包括 數(shù)值分析 數(shù)值和符號計算 工程和科學(xué)繪圖 通訊和控制系統(tǒng)的設(shè)計與仿真 數(shù)字圖像與信號處理 財務(wù)與金融工程等 MATLAB軟件簡介 MATLAB軟件的典型應(yīng)用領(lǐng)域 科學(xué)研究 工程技術(shù)應(yīng)用研究CAI ComputerAidedInstruct 數(shù)學(xué)實驗 MathematicalExperiment 數(shù)學(xué)建模 MathematicalModeling clear刪除工作空間中的所有變量 系統(tǒng)不會要求你確認(rèn)這個命令 所有變量都被清除且不能再恢復(fù) 對于簡單的問題 在MATLAB提示符下輸入命令是快速有效的 然而當(dāng)命令數(shù)增加或希望改變一個或幾個變量的值 然后重新執(zhí)行一系列命令時 在MATLAB提示符處鍵入命令就非常麻煩了 對這個問題MATLAB提供了一種邏輯解決方案 它允許用戶把MATLAB命令放在一個簡單的文本文件中 然后告訴MATLAB打開文件并執(zhí)行命令 如同在MATLAB提示符處鍵入命令一樣 這些文件被稱為腳本文件或簡單地稱為M文件 M文件是指腳本文件以擴(kuò)展名 m結(jié)尾 MATLAB軟件簡介 MATLAB提供三種控制流結(jié)構(gòu)的語句 For end循環(huán)While end循環(huán)If Else End結(jié)構(gòu) MATLAB軟件簡介 For end循環(huán)的基本作用是以固定的和預(yù)定的次數(shù)重復(fù)一組特定的命令 一般形式是 forn 循環(huán)控制量的范圍 commands end MATLAB軟件簡介 說明 在for和end語句之間的命令串 commands 按矩陣 array 中的每一列執(zhí)行一次 在每一次迭代中 n被指定為循環(huán)控制量的范圍內(nèi)的下一列 例如 forn 1 10 x n sin n pi 10 end這個循環(huán)體的作用是 對n等于1到10 求所有語句的值 直到下一個end語句 第1次通過For循環(huán)n 1 第2次 n 2 如此繼續(xù) 直到n 10 在n 10以后 For循環(huán)結(jié)束 然后求end語句后面的任何命令值 For循環(huán)不能用For循環(huán)內(nèi)重新賦值循環(huán)變量n來終止 在For循環(huán)中循環(huán)控制量的范圍可以是任何有效的MATLAB矩陣 比如data 119456 716 15 forn datax n 1 n 2 end這時程序的輸出有四個數(shù)值 分別是矩陣data的兩列相減的結(jié)果x 4x 7x 46x 1 For循環(huán)可按需要嵌套 即For循環(huán)體內(nèi)的命令組中可以出現(xiàn)另一個For循環(huán)體 這體現(xiàn)了For循環(huán)體也是命令組 比如forn 1 5form 5 1 1A n m n 2 m 2 Endend While end循環(huán)以不定的次數(shù)求一組語句的值 Whil end循環(huán)的一般形式是 whileexpression 控制表達(dá)式 commands end只要在控制表達(dá)式 expression 里的所有元素為真 就執(zhí)行While和end語句之間的命令串 commands MATLAB軟件簡介 說明 控制表達(dá)式的值未必是一個標(biāo)量值 矩陣值也同樣有效 在矩陣情況下 所得到矩陣的所有元素必須都為真 具體示例 num 0 EPS 1 while 1 EPS 1EPS EPS 2 num num 1 end這段MATLAB代碼最后在num 53時停止 IF ELSE END結(jié)構(gòu)提供有條件地執(zhí)行一些特定的命令序列的方式 最簡單的IF ELSE END結(jié)構(gòu)是 ifexpression 條件控制表達(dá)式 commands end如果在條件控制表達(dá)式 expression 中的所有元素為真 非零 那么就執(zhí)行if和end語句之間的命令串 commands 在表達(dá)式包含有幾個邏輯表達(dá)式時 即使前一個表達(dá)式?jīng)Q定了表達(dá)式的最后邏輯狀態(tài) 仍要計算所有的子表達(dá)式 MATLAB軟件簡介 一般的有兩個選擇的IF ELSE END結(jié)構(gòu)是 ifexpression 條件控制表達(dá)式 commandsevaluatedifTrueelsecommandsevaluatedifTrueend在這里 如果條件控制表達(dá)式 expression 為真 則執(zhí)行第1組命令 如果表達(dá)式是假 則執(zhí)行第2組命令 有三個或更多選擇時的IF ELSE END結(jié)構(gòu)的形式 ifexpression1commandsevaluated ifexpression1isTrueelseifexpression2commandsevaluated ifexpression2isTrueelseifexpression3commandsevaluated ifexpression3isTrueelseif elsecommandsevaluatedifonotherexpressionisTrueend最后這種有三個以上選擇的IF ELSE END形式 依次檢查各表達(dá)式 只執(zhí)行第一個表達(dá)式為真的命令串 接下來的關(guān)系表達(dá)式不檢驗 跳過其余的IF ELSE END結(jié)構(gòu) 最后的else命令可有可無 break是一種特殊的控制結(jié)構(gòu) 基本作用是無條件跳出臨近的循環(huán)體 即結(jié)束For循環(huán)和While循環(huán)的執(zhí)行 MATLAB軟件簡介 學(xué)習(xí)和使用常用軟件MATLAB的一些基本語句和功能來驗證或觀察函數(shù)的變化 實現(xiàn)函數(shù)的可視化計算 MATLAB軟件簡介 MATLAB仿真舉例 設(shè)系統(tǒng)方程 y 0 1 試用Euler法求其數(shù)值解 取步長h 0 1 0 t 1 試編寫matlab程序求其數(shù)值解 設(shè)系統(tǒng)方程 y 0 1 試用Euler法求其數(shù)值解 取步長h 0 1 0 t 1 試編寫matlab程序求其數(shù)值解 Euler迭代公式 yn 1 yn 0 1yn2 MATLAB仿真舉例 Euler迭代公式 yn 1 yn 0 1yn2 y 0 1 取步長h 0 1 0 t 1 MATLAB仿真舉例 Euler迭代公式 yn 1 yn 0 1yn2 y 0 1 t 0 0 1 1 length size t 1 y zeros size t y 1 1 forn 1 1 length 1y n 1 y n 0 1 y n 2endplot t y 取步長h 0 1 0 t 1 MATLAB仿真舉例 運(yùn)行結(jié)果 y 1 00000 90000 81900 75190 69540 64700 60520 56850 53620 50750 4817 MATLAB仿真舉例 作業(yè) 設(shè)系統(tǒng)方程 y 0 1 試用二階龍格庫塔法求其數(shù)值解 取步長h 0 1 0 t 1 試編寫matlab程序求其數(shù)值解 二階龍格庫塔法迭代公式 請在第二次實驗時上機(jī)驗證結(jié)果 Simulink是MATLAB提供的實現(xiàn)動態(tài)系統(tǒng)建模和仿真的一個軟件包 它讓用戶把精力從編程轉(zhuǎn)向模型的構(gòu)造 Simulink一個很大的優(yōu)點(diǎn)是為用戶省去了許多重復(fù)的代碼編寫工作 Simulink支持線性 非線性系統(tǒng) 連續(xù)系統(tǒng) 離散系統(tǒng) 或者混合系統(tǒng)的建模與仿真 同時它也支持具有不同部分擁有不同采樣率的多種采樣速度的系統(tǒng)仿真 Simulink的啟動方式有兩種 1 在工具欄點(diǎn)擊Simulink圖標(biāo) 2 在CommandWindow中輸入 Simulink 什么是Simulink Simulink模塊庫簡介 SIMILINK模塊庫按功能進(jìn)行分類 連續(xù)模塊 離散模塊 查表模塊 數(shù)學(xué)模塊 非線性模塊 信號通路模塊 接收器模塊 輸入源模塊 其他常用方塊組及工具箱 特別模塊 Simulink模塊庫簡介 Derivative 輸入信號微分Integrator 積分器State Space 線性狀態(tài)空間系統(tǒng)模型Transfer Fcn 線性傳遞函數(shù)模型Zero Pole 以零極點(diǎn)表示的傳遞函數(shù)模型Memory 存儲上一時刻的狀態(tài)值TransportDelay 輸入信號延時一個給定時間再輸出VariableTransportDelay 輸入信號延時一個可變時間再輸出 連續(xù)模塊 Continuous Zero OrderHold 零階采樣保持器UnitDelay 一個采樣周期的延時Discrete timeIntegrator 離散時間積分器DiscreteState Space 離散狀態(tài)空間系統(tǒng)模型DiscreteFilter 離散濾波器DiscreteTransfer Fcn 離散傳遞函數(shù)模型DiscreteZero Pole 以零極點(diǎn)表示的離散傳遞函數(shù)模型First OrderHold 一階采樣保持器 離散模塊 Discrete Look UpTable 建立輸入信號的查詢表 線性峰值匹配 Look UpTable 2 D 建立兩個輸入信號的查詢表 線性峰值匹配 Fcn 用戶自定義的函數(shù) 表達(dá)式 MATLABFcn 利用MATLAB的現(xiàn)有函數(shù)S Function 調(diào)用自編的S函數(shù)的程序 Look upTable 查表模塊 User definedfunction 用戶定義函數(shù)模塊 Sum 加減運(yùn)算Product 模塊輸入的乘除運(yùn)算DotProduct 點(diǎn)乘運(yùn)算Gain 比例運(yùn)算MathFunction 包括指數(shù)函數(shù) 對數(shù)函數(shù) 求平方等常用數(shù)學(xué)函數(shù)TrigonometricFunction 三角函數(shù) 包括正弦 余弦 正切等MinMax 最小值或最大值運(yùn)算 Mathoperations 數(shù)學(xué)模塊 Abs 取絕對值Sign 給出符號函數(shù)RoundingFunction圓整函數(shù)CombinatorialLogic 建立真值表LogicalOperator 邏輯運(yùn)算RelationalOperator 關(guān)系運(yùn)算ComplextoMagnitude Angle 由復(fù)數(shù)輸入轉(zhuǎn)為幅值和相角輸出ComplextoReal Imag 由復(fù)數(shù)輸入轉(zhuǎn)為實部和虛部輸出Magnitude AngletoComplex 由幅值和相角輸入合成復(fù)數(shù)輸出Real ImagtoComplex 由實部和虛部輸入合成復(fù)數(shù)輸出 RateLimit 變化速率限制Saturation 飽和輸出 讓輸出超過某一值時能夠飽和 Quantizer 離散化Blacklash 滯環(huán)或間隙DeadZone 死區(qū)Relay 滯環(huán)繼電器Switch 切換開關(guān)ManualSwitch 手動選擇開關(guān)Coulomb ViscousFriction庫侖和粘滯摩擦 Discontinuous 非線性模塊 Mux 將多個單一輸入轉(zhuǎn)化為一個復(fù)合輸出 Demux 將一個復(fù)合輸入轉(zhuǎn)化為多個單一輸出 SignalRouting 信號通路模塊 Scope 示波器 顯示信號曲線 XYGraph 顯示二維X Y圖形 Out1 輸出端口Display 顯示數(shù)值ToWorkspace 將輸出寫入MATLAB的工作空間 ToFile mat 將輸出寫入數(shù)據(jù)文件 Terminator 終止一個未連接的輸出端口 Sinks 接收器模塊 In1 輸入端口Constant 常數(shù)信號SignalGenerator 信號發(fā)生器 產(chǎn)生任意波形Ramp 斜坡信號SineWave 正弦波信號Step 階躍波信號RepeatingSequence 重復(fù)信號PulseGenerator 脈沖發(fā)生器Ground 擱置一個未連接的輸入端口Clock 時鐘信號FromWorkspace 來自MATLAB的工作空間 FromFile mat 來自數(shù)據(jù)文件 Sources 輸入源模塊 其他常用方塊組及工具箱Blocksets Toolboxes Simulinkextras 特別模塊 2 SimulinkExtras Simulink附加庫 3 CommunicationsBlockset 通信模塊集 4 ControlSystemToolbox 控制系統(tǒng)工具箱 5 DSPBlockset 數(shù)字信號處理模塊集 6 Dials GaugesBlockset 面板和儀表模塊集 7 Fixed PointBlockset 定點(diǎn)模塊集 8 FuzzyLogicToolbox 模糊邏輯工具箱 9 MPCBlockset MPC模塊集 10 NCDBlockset 非線性控制設(shè)計模塊集 11 MotorolaDSPBlockset DSP模塊集 12 NeuralNetworkBlockset 神經(jīng)網(wǎng)絡(luò)模塊集 13 PowerSystemBlockset 電力系統(tǒng)模塊集 SIMULINK的一些其它工具箱 14 Real TimeWindowsTarget 實時窗口目標(biāo)庫 15 Real TimeWorkshop 實時工作空間庫 16 SystemIDBlocks 系統(tǒng)辨識模塊集 17 Stateflow 有限狀態(tài)流程庫 18 AerospaceBlockset 航空模塊集 23 DataAcquistionToolbox 數(shù)據(jù)采集工具箱 20 SignalProcessingBlocks 信號處理工具箱 21 ImageAcquistionToolbox 圖形采集工具箱 22 RFBlockset 射頻工具箱 23 VideoandImageProcessingBlocks圖像處理工具箱 新增工具箱 機(jī)構(gòu)仿真工具箱液壓驅(qū)動工具箱 例1 考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動 例1 考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動 忽略摩擦力 運(yùn)動微分方程為 例1 考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動 在matlab simulink中搭建仿真模型 加入兩個積分模塊 第一個模塊用來計算速度 第二個模塊用來計算位移 可用模塊圖表示為 例1 考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動 假定F sin t 為正弦激勵 m 0 5 求0 10s區(qū)間內(nèi)的系統(tǒng)位移響應(yīng)曲線 仿真結(jié)果如下圖 例1 考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動 若要求同時輸出位移和速度 則模型框圖為 例1 考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動 仿真結(jié)果如下圖 在模型窗口中 選中模塊 則其4個角會出現(xiàn)黑色標(biāo)記 此時可以對模塊進(jìn)行以下的基本操作 移動 選中模塊 按住鼠標(biāo)左鍵將其拖曳到所需的位置即可 若要脫離線而移動 可按住shift鍵 再進(jìn)行拖曳 復(fù)制 選中模塊 然后按住鼠標(biāo)右鍵進(jìn)行拖曳即可復(fù)制同樣的一個功能模塊 刪除 選中模塊 按Delete鍵即可 若要刪除多個模塊 可以同時按住Shift鍵 再用鼠標(biāo)選中多個模塊 按Delete鍵即可 也可以用鼠標(biāo)選取某區(qū)域 再按Delete鍵就可以把該區(qū)域中的所有模塊和線等全部刪除 轉(zhuǎn)向 為了能夠順序連接功能模塊的輸入和輸出端 功能模塊有時需要轉(zhuǎn)向 在菜單Format FlipBlock Ctrl I 旋轉(zhuǎn)180度 Format RotateBlock Ctrl R 順時針旋轉(zhuǎn)90度 模塊的處理 Simulink模型的建立方法 改變大小 選中模塊 對鼠標(biāo)移到角上出現(xiàn) 進(jìn)行拖曳即可 模塊命名 先用鼠標(biāo)在需要更改的名稱上單擊一下 然后直接更改即可 名稱在功能模塊上的位置也可以變換180度 可以用Format FlipName來實現(xiàn) 也可以直接通過鼠標(biāo)進(jìn)行拖曳 HideName可以隱藏模塊名稱 顏色設(shè)定 Format ForegroundColor改變模塊的前景顏色 BackgroundColor改變模塊的背景顏色 而模型窗口的顏色可以通過ScreenColor來改變 參數(shù)設(shè)定 用鼠標(biāo)雙擊模塊 就可以進(jìn)入模塊的參數(shù)設(shè)定窗口 從而對模塊進(jìn)行參數(shù)設(shè)定 或點(diǎn)擊鼠標(biāo)右鍵 選擇Blockparameters參數(shù)設(shè)定窗口包含了該模塊的基本功能幫助 通過對模塊的參數(shù)設(shè)定 就可以獲得需要的功能模塊 模塊的處理 Simulink模型的建立方法 SIMULINK模型的構(gòu)建是通過用線將各種功能模塊進(jìn)行連接而構(gòu)成的 用鼠標(biāo)可以在功能模塊的輸入與輸出端之間直接連線 線的分支 按住鼠標(biāo)右鍵 在需要分支的地方拉出即可 或者按住Ctrl鍵 并在要建立分支的地方用鼠標(biāo)拉出即可 或從輸入端拉線到分支點(diǎn) 模塊的連接 Simulink模型的建立方法 屬性設(shè)定 選中模塊 打開Edit BlockProperties可以對模塊進(jìn)行屬性設(shè)定 或鼠標(biāo)右鍵選擇BlockProperties屬性包括Description描述屬性 對模塊的說明文本Priority優(yōu)先級屬性 模塊執(zhí)行順序Tag標(biāo)簽屬性 Openfunction屬性 通過它指定一個函數(shù)名 則當(dāng)該模塊被雙擊之后 Simulink就會調(diào)用該函數(shù)執(zhí)行 這種函數(shù)在MATLAB中稱為回調(diào)函數(shù)Attributesformatstring屬性 屬性的改變 Simulink模型的建立方法 Simulink模型的建立方法 取信號源Sources Step 取增益Math Gain 取傳函Continuous TransferFcn 取相加點(diǎn)Math Sum 取顯示Sinks Scope 連接各元件 選擇仿真參數(shù) 如停止時間等Simulation Simulationparameters 開始仿真Simulation Start 選擇start 或這里開始仿真 點(diǎn)擊右鍵 調(diào)整顯示參數(shù) 仿真結(jié)果顯示 例3 考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動 若要求同時輸出位移 速度和加速度 則模型框圖為 Simulink建模與仿真舉例 例3 考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動 仿真結(jié)果如下圖 例4 考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動 例4 考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動 運(yùn)動微分方程為 動力方程變換為 例4 考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動 在matlab simulink中搭建仿真模型 例4 考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動 位移曲線仿真結(jié)果如下圖 同時查看位移 速度 加速度仿真模型框圖 同時查看位移 速度 加速度10s內(nèi)仿真結(jié)果 若要同時查看位移 速度 加速度20s內(nèi)仿真結(jié)果 該如何設(shè)置參數(shù) 第1步 設(shè)置仿真參數(shù)和選擇解法器選擇Simulation菜單下的Parameters命令 就會彈出一個仿真參數(shù)對話框 它主要用三個頁面來管理仿真的參數(shù) Solver頁 它允許用戶設(shè)置仿真的開始和結(jié)束時間 選擇解法器 說明解法器參數(shù)及選擇一些輸出選項 WorkspaceI O頁 作用是管理模型從MATLAB工作空間的輸入和對它的輸出 Diagnostics診斷頁 允許用戶選擇Simulink在仿真中顯示的警告信息的等級 構(gòu)建好一個系統(tǒng)的模型之后 接下來的事情就是運(yùn)行模型 得出仿真結(jié)果 運(yùn)行一個仿真的完整過程分成三個步驟 設(shè)置仿真參數(shù) 啟動仿真和仿真結(jié)果分析 仿真方法與仿真參數(shù)的選擇 Simulink建模與仿真舉例 Solver頁 Simulationtime仿真時間 注意這里的時間是計算機(jī)仿真中對時間的一種表示 比如10秒的仿真時間 如果采樣步長定為0 1 則需要執(zhí)行100步 若把步長減小 則采樣點(diǎn)數(shù)增加 那么實際的執(zhí)行時間就會增加 一般仿真開始時間設(shè)為0 而結(jié)束時間視不同的因素而選擇 Solveroption解法選項 Type后面的第一個選項中指定仿真的步長類型 分Variable step 變步長 和Fixed step 固定步長 兩種 變步長模式解法器有 ode45 ode23 ode113 ode15s ode23s ode23t ode23tb和discrete ode45 缺省值 四 五階龍格 庫塔法 適用于大多數(shù)連續(xù)或離散系統(tǒng) 但不適用于剛性 stiff 系統(tǒng) 它是單步解法器 也就是 在計算y tn 時 它僅需要最近處理時刻的結(jié)果y tn 1 一般來說 面對一個仿真問題最好是首先試試ode45 ode23 二 三階龍格 庫塔法 它在誤差限要求不高和求解的問題不太難的情況下 可能會比ode45更有效 也是一個單步解法器 ode113 是一種階數(shù)可變的解法器 它在誤差容許要求嚴(yán)格的情況下通常比ode45有效 ode113是一種多步解法器 也就是在計算當(dāng)前時刻輸出時 它需要以前多個時刻的解 ode15s 是一種基于數(shù)字微分公式的解法器 NDFs 也是一種多步解法器 適用于剛性系統(tǒng) 當(dāng)用戶估計要解決的問題是比較困難的 或者不能使用ode45 或者即使使用效果也不好 就可以用ode15s ode23s 它是一種單步解法器 專門應(yīng)用于剛性系統(tǒng) 在弱誤差允許下的效果好于ode15s 它能解決某些ode15s所不能有效解決的stiff問題 ode23t 是梯形規(guī)則的一種自由插值實現(xiàn) 這種解法器適用于求解適度stiff的問題而用戶又需要一個無數(shù)字振蕩的解法器的情況 ode23tb 是TR BDF2的一種實現(xiàn) TR BDF2是具有兩個階段的隱式龍格 庫塔公式 discrtet 當(dāng)Simulink檢查到模型沒有連續(xù)狀態(tài)時使用它 Simulink建模與仿真舉例 固定步長模式解法器有 ode5 ode4 ode3 ode2 ode1和discrete ode5 缺省值 是ode45的固定步長版本 適用于大多數(shù)連續(xù)或離散系統(tǒng) 不適用于剛性系統(tǒng) ode4 四階龍格 庫塔法 具有一定的計算精度 ode3 固定步長的二 三階龍格 庫塔法 ode2 改進(jìn)的歐拉法 ode1 歐拉法 discrete 是一個實現(xiàn)積分的固定步長解法器 它適合于離散無連續(xù)狀態(tài)的系統(tǒng) Simulink建模與仿真舉例 Fixedstepsize固定步參數(shù) 缺省情況下 步長自動地確定 它由值auto表示Mode 固定步長模式選擇 Multitasking 多任務(wù)模式 當(dāng)simulink檢測到模塊間非法的采樣速率轉(zhuǎn)換 它會給出錯誤提示 所謂的非法采樣速率轉(zhuǎn)換指兩個工作在不同采樣速率的模塊之間的直接連接 在實時多任務(wù)系統(tǒng)中 如果任務(wù)之間存在非法采樣速率轉(zhuǎn)換 那么就有可能出現(xiàn)一個模塊的輸出在另一個模塊需要時卻無法利用的情況 通過檢查這種轉(zhuǎn)換 Multitasking將有助于用戶建立一個符合現(xiàn)實的多任務(wù)系統(tǒng)的有效模型 使用速率轉(zhuǎn)換模塊可以減少模型中的非法速率轉(zhuǎn)換 Simulink提供了兩個這樣的模塊 unitdelay模塊和zero orderhold模塊 對于從慢速率到快速率的非法轉(zhuǎn)換 可以在慢輸出端口和快輸入端口插入一個單位延時unitdelay模塊 而對于快速率到慢速率的轉(zhuǎn)換 則可以插入一個零階采樣保持器zero orderhold Singletasking 單任務(wù)模式 不檢查模塊間的速率轉(zhuǎn)換 它在建立單任務(wù)系統(tǒng)模型時非常有用 在這種系統(tǒng)就不存在任務(wù)同步問題 Auto 自動模式 simulink會根據(jù)模型中模塊的采樣速率是否一致 自動決定切換到multitasking和singletasking Stepsize步長參數(shù) 對于變步長模式 用戶可以設(shè)置最大的和推薦的初始步長參數(shù) 缺省情況下 步長自動地確定 它由值auto表示 Maximumstepsize 最大步長參數(shù) 它決定了解法器能夠使用的最大時間步長 它的缺省值為 仿真時間 50 即整個仿真過程中至少取50個取樣點(diǎn) 但這樣的取法對于仿真時間較長的系統(tǒng)則可能帶來取樣點(diǎn)過于稀疏 而使仿真結(jié)果失真 一般建議對于仿真時間不超過15s的采用默認(rèn)值即可 對于超過15s的每秒至少保證5個采樣點(diǎn) 對于超過100s的 每秒至少保證3個采樣點(diǎn) Initialstepsize 初始步長參數(shù) 一般建議使用 auto 默認(rèn)值即可 Relativetolerance 相對誤差 它是指誤差相對于狀態(tài)的值 是一個百分比 缺省值為1e 3 表示狀態(tài)的計算值要精確到0 1 Absolutetolerance 絕對誤差 表示誤差值的門限 或者是說在狀態(tài)值為零的情況下 可以接受的誤差 如果它被設(shè)成了auto 那么simulink為每一個狀態(tài)設(shè)置初始絕對誤差為1e 6 Simulink建模與仿真舉例 Outputoptions輸出選項 在變步長模式下有效 Refineoutput 精細(xì)輸出 其意義是在仿真輸出太稀松時 simulink會產(chǎn)生額外的精細(xì)輸出 這一點(diǎn)就像插值處理一樣 用戶可以在refinefactor設(shè)置仿真時間步間插入的輸出點(diǎn)數(shù) 產(chǎn)生更光滑的輸出曲線 改變精細(xì)因子比減小仿真步長更有效 并且在ode45效果最好 Produceadditionaloutput 它允許用戶直接指定產(chǎn)生輸出的時間點(diǎn) 一旦選擇了該項 則在它的右邊出現(xiàn)一個outputtimes編輯框 在這里用戶指定額外的仿真輸出點(diǎn) 它既可以是一個時間向量 也可以是表達(dá)式 與精細(xì)因子相比 這個選項會改變仿真的步長 Producespecifiedoutputonly 它的意思是讓simulink只在指定的時間點(diǎn)上產(chǎn)生輸出 為此解法器要調(diào)整仿真步長以使之和指定的時間點(diǎn)重合 這個選項在比較不同的仿真時可以確保它們在相同的時間輸出 WorkspaceI O頁 此頁主要用來設(shè)置與MATLAB工作空間交換數(shù)值的有關(guān)選項 Loadfromworkspace 從MATLAB工作空間獲取時間和輸入變量 一般時間變量定義為t 輸入變量定義為u Initialstate用來定義從MATLAB工作空間獲得的狀態(tài)初始值的變量名 Savetoworkspace 設(shè)置保存到MATLAB工作空間的變量類型和變量名 包括輸出時間向量 Time 狀態(tài)向量 States 和輸出變量 Output 最終狀態(tài) Finalstate 用來定義將系統(tǒng)穩(wěn)態(tài)值存往工作空間所使用的變量名 Diagnostics頁 此頁分成兩個部分 仿真選項和配置選項 配置選項下的列表框主要列舉了一些常見的事件類型 以及當(dāng)SIMULINK檢查到這些事件時給予的處理 仿真選項options主要包括是否進(jìn)行一致性檢驗 是否禁用過零檢測 是否禁止復(fù)用緩存 是否進(jìn)行不同版本的SIMULINK的檢驗等幾項 除了上述3個主要的頁外 仿真參數(shù)設(shè)置窗口還包括real timeworkshop頁 主要用于與C語言編輯器的交換 通過它可以直接從SIMULINK模型生成代碼并且自動建立可以在不同環(huán)境下運(yùn)行的程序 這些環(huán)境包括實時系統(tǒng)和單機(jī)仿真 設(shè)置仿真參數(shù)和選擇解法器之后 就可以啟動仿真而運(yùn)行 選擇Simulink菜單下的start選項來啟動仿真 如果模型中有些參數(shù)沒有定義 則會出現(xiàn)錯誤信息提示框 如果一切設(shè)置無誤 則開始仿真運(yùn)行 結(jié)束時系統(tǒng)會發(fā)出一鳴叫聲 啟動仿真 Simulink建模與仿真舉例 演示示波器Scope Simulink建模與仿真舉例 SCOPE圖形的鼠標(biāo)右鍵 zoomoutAutoscaleSavecurrentaxessettingAxesproperties工具欄 ScopeparametersGeneralDatahistoryFloatingscope Exm5 2 mdl Simulink建模與仿真舉例 Simulink建模與仿真舉例 Simulink建模與仿
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智源小學(xué)測試題及答案
- 化工常用面試題及答案
- 慢性病健康管理培訓(xùn)
- 呼吸內(nèi)科2025年工作總結(jié)
- 闌尾炎病人術(shù)后健康指導(dǎo)
- 員工培訓(xùn)發(fā)展
- 智能化工程驗收規(guī)范培訓(xùn)
- 兒科急性喉炎課件
- 中班健康身體的小秘密
- 支氣管肺炎的病理變化
- 2025年人教部編版語文五年級下冊期末檢測真題及答案(2套)
- 《中醫(yī)養(yǎng)生學(xué)》課件-八段錦
- 【MOOC】電路分析基礎(chǔ)-北京郵電大學(xué) 中國大學(xué)慕課MOOC答案
- 湖南省長沙市雨花區(qū)2023-2024學(xué)年五年級下學(xué)期期末考試英語試題
- 二年級《時間單位換算口算題(共100道)》專題練習(xí)訓(xùn)練
- 病理科-生物安全管理制度
- 空壓機(jī)保修手冊
- 光伏并網(wǎng)建模與仿真
- 工業(yè)機(jī)器人編程與實操期末精彩試題
- 管片破損修補(bǔ)及接縫滲漏水防治施工方案
- 《聲音的數(shù)字化》PPT課件.ppt
評論
0/150
提交評論