




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Matlab仿真技術主講教師:鄭海青石家莊鐵道大學第四章Simulink的應用
4.1Simulink工作平臺的啟動4.2Simulink仿真原理4.3Simulink模塊庫
4.4Simulink在系統仿真中的應用4.5仿真算法與控制參數選擇4.1Simulink工作平臺的啟動啟動Simulink,通常有兩種方法:(1)在MATLAB命令窗口中直接輸入Simulink命令;(2)在MATLAB工具欄上單擊Simulink按鈕,如圖4.1所示。這樣就可打開了Simulink的SimulinkLibraryBrower(庫模塊瀏覽器),如圖4.2所示。圖4.14.1Simulink工作平臺的啟動圖4.2庫模塊瀏覽器
4.1Simulink工作平臺的啟動在菜單欄中執行File/New/Model命令,就建立了一個名為untitled的模型窗口,如圖4.3所示。在建立了空的模塊窗口后,用戶可以在此窗口中創建自己需要的Simulink模型。圖4.3新建的空白模塊窗口
第四章Simulink的應用
4.1Simulink工作平臺的啟動
4.2Simulink仿真原理
4.3Simulink模塊庫
4.4Simulink在系統仿真中的應用4.5仿真算法與控制參數選擇4.2
Simulink的仿真原理4.2.1Simulink仿真模塊通常,Simulink仿真系統包括輸入(Input)、狀態(states)和輸出(Output)三個部分。·輸入模塊:即信號源模塊,包括常數字信號源和用戶自定義信號;·狀態模塊:即被模擬的系統模塊,是系統建模的核心和主要部分;·輸出模塊:即信號顯示模塊,它能夠以圖形方式、文件格式進行顯示。4.2
Simulink的仿真原理4.2.2Simulink仿真過程1.初始化階段①對模型的參數進行估計,得到它們實際計算的值。②展開模型的各個層次;③按照更新的次序對模型進行排序;④確定那些顯式化的信號屬性,并檢查每個模塊是否能夠接受連接它們輸入端的信號;⑤確定所有非顯式的信號采樣時間模塊的采樣時間;⑥分配和初始化存儲空間,以便存儲每個模塊的狀態和當前值的輸出。4.2
Simulink的仿真原理2.模型執行階段模型仿真是通過數值積分來進行完成的,計算數值積分可以采用以下兩步來進行:①按照秩序計算每個模塊的積分;②根據當前輸入和狀態來決定狀態的微分,得到微分矢量,然后把它返回給解法器,以計算下一個采樣點的狀態矢量。在每一個時間步中,Simulink依次解決下列問題:
·按照秩序更新模塊的輸出;
·按照秩序更新模塊的狀態;
·檢查模塊連續狀態的不連續點;
·計算下一個仿真時間步的時間。4.2
Simulink的仿真原理Simulink進行動態仿真的主要流程:模型的創建仿真的配置啟動仿真結果顯示例:對正弦信號進行積分,將積分后的信號同正弦信號在示波器中顯示出來。第四章Simulink的應用
4.1Simulink工作平臺的啟動
4.2Simulink仿真原理4.3Simulink模塊庫
4.4Simulink在系統仿真中的應用4.5仿真算法與控制參數選擇4.3Simulink模塊庫在庫模塊瀏覽器中單擊Simulink前面的“+”號,就能夠看到Simulink的模塊庫。4.3.1連續模塊庫(Continuous)
在連續模塊(Continuous)庫中包括了常見的連續模塊,這些模塊如圖所示。4.3Simulink模塊庫1.積分模塊(Integrator):功能:對輸入變量進行積分。說明:模塊的輸入可以是標量,也可以是矢量。2.微分模塊(Derivative)功能:通過計算差分?u/?t近似計算輸入變量的微分。3.線性狀態空間模塊(State-Space)功能:用于實現以下數學方程描述的系統:4.傳遞函數模塊(TransferFcn)功能:用執行一個線性傳遞函數。4.3Simulink模塊庫5.零極點傳遞函數模塊(Zero-Pole)功能:用于建立一個預先指定的零點、極點及增益表示的系統。6.存儲器模塊(Memory)功能:保持輸出前一步的輸入值。7.傳輸延遲模塊(TransportDelay)功能:將輸入延遲一段指定的時間。8.可變傳輸延遲模塊(VariableTransportDelay)功能:用于將輸入端的信號進行可變時間的延遲。4.3Simulink模塊庫微分方程的框圖求解:常用模塊:輸入、輸出端口(In1,out1)時鐘模塊Clock產生時間t,從而可搭建時變微分方程模型常用輸入模塊
sine:正弦信號
step:階躍信號
constant:恒值信號4)積分器模塊(Int)5)延遲模塊(Transportdelay)得出輸入信號在時刻的值,可用于延遲微分方程的建模與求解。4.3Simulink模塊庫6)增益模塊(Gain,MatrixGain)信號的放大7)數學運算模塊:對輸入信號實現加減乘除等代數運算8)數學函數模塊:對輸入信號做模塊指定的非線性運算,如三角函數運算、指數對數運算。9)信號向量化模塊:用混路模塊Mux可將若干路信號混成向量型信號,用Demux模塊可將向量型信號解出單路的信號。4.3Simulink模塊庫例1.考慮如下Lorenz方程的求解問題:其中,,各個狀態變量的初值為
試用Simulink搭建該模型,并得出仿真結果。法一:ode454.3Simulink模塊庫考慮如下延遲微分方程:試用Simulink搭建該微分方程模型,并得出其數值解。第一個方程:輸入輸出傳遞函數第二個方程:輸入
輸出傳遞函數
4.3Simulink模塊庫實驗:試用Simulink搭建該微分方程模型,并得出其數值解。4.3Simulink模塊庫實驗二:求解如下微分方程,并繪制相應曲線。4.3Simulink模塊庫4.3.2離散模塊庫(Discrete)
離散模塊庫(Discrete)主要用于建立離散采樣的系統模型,包括的主要模塊,如圖所示。4.3Simulink模塊庫1.零階保持器模塊(Zero-Order-Hold)功能:實現指定采樣速率的采樣和保持功能。2.單位延遲模塊(UnitDelay)功能:將輸入信號延遲并保持一個采樣間隔,相當于時間算子z-1。3.離散時間積分模塊(DiscreteTimeIntegrator)功能:在構造完全離散的系統時,代替Integrator模塊。使用的積分方法有:向前歐拉法、向后歐拉法、梯形法。4.離散狀態空間模塊(DiscreteStateSpace)功能:用于實現如下數學方程描述的系統:4.3Simulink模塊庫5.離散濾波器模塊(DiscreteFilter)功能:用于實現無限脈沖響應(IIR)和有限脈沖響應(FIR)的數字濾波器。6.離散傳遞函數模塊(DiscreteTransferFcn)功能:用于執行一個離散傳遞函數。7.離散零極點傳遞函數模塊(DiscreteZero-Pole)功能:用于建立一個預先指定的零點、極點,并用延遲算子z表示的離散系統。8.一階保持器模塊(FirstOrderHold)功能:在一定時間間隔內保持一階采樣。4.3Simulink模塊庫4.3.3函數與表格模塊庫(Function&Table)
函數與表格模塊庫(Function&Table)主要實現各種一維、二維或者更高維函數的查表,另外用戶還可以根據自己需要創建更復雜的函數。該模塊庫主要模塊如圖所示。4.3Simulink模塊庫1.一維查表模塊(Look-UpTable)使用模塊參數中定義的線性插值將輸入映射到輸出。可以指定定義查詢表的輸入值向量和輸出值向量,模塊將其輸入與輸出值向量中的的值進行比較產生輸出。2.二維查表模塊(Look-UpTable2-D)功能:使用模塊參數中定義的線性插值將輸入映射到輸出。在Table參數域中定義可能的輸出,在行和列參數域中定義與表的行和列對應的值,模塊將其輸入與行和列參數進行比較,產生其輸出值。第一個輸入被認為是行的值,第二個輸入被認為是列的值。4.3Simulink模塊庫3.自定義函數模塊(Fcn)功能:用于將輸入信號進行指定的函數運算,最后計算出模塊的輸出值。說明:輸入的數學表達式應符合C語言編程規范;不能完成矩陣運算。4.MATLAB函數模塊(MATLABFcn)功能:對輸入信號進行MATLAB函數及表達式的處理。注意:從運算速度角度,Matlabfunction模塊要比Fcn模塊慢。5.S-函數模塊(S-Function)功能:該模塊提供從方框圖中訪問S函數的方法。4.3Simulink模塊庫4.3.4數學模塊庫(Math)數學模塊庫(Math)包括多個數學運算模塊,如圖所示。4.3Simulink模塊庫1.求和模塊(Sum)功能:用于對多路輸入信號進行求和運算,并輸出結果。2.乘法模塊(Product)功能:該模塊對其輸入進行乘或除運算,具體乘除取決于Multiplication和Numberofinputs參數的值。3.矢量的點乘模塊(DotProduct)功能:產生兩個輸入向量的點乘,標量輸出y等于4.增益模塊(Gain)功能:增益模塊(Gain)的作用是把輸入信號乘以一個指定的增益因子,使輸入產生增益。4.3Simulink模塊庫5.常用數學函數模塊(MathFunction)功能:用于執行多個常用數學函數,其中包含exp、log、log10、square、sqrt、pow、reciprocal、hypot、rem、mod等。6.三角函數模塊(TrigonometricFunction)功能:用于對輸入信號進行三角函數運算,共有10種三角函數供選擇。7.特殊數學模塊特殊數學模塊中包括求最大最小值模塊(MinMax)、取絕對值模塊(Abs)、符號函數模塊(Sign)、取整數函數模塊(RoundingFunction)等。4.3Simulink模塊庫8.數字邏輯函數模塊數字邏輯函數模塊包括復合邏輯模塊(CombinationalLogic)、邏輯運算符模塊(LogicalOperator)、位邏輯運算符模塊(BitwiseLogicalOperator)等。9.關系運算模塊(RelationalOperator)
關系符號包括:==、≠、<、<=、>、>=等。10.復數運算模塊復數運算模塊包括計算復數的模與幅角(ComplextoMagnitude-Angle)、由模和幅角計算復數(Magnitude-AngletoComplex)、提取復數實部與虛部模塊(ComplextoRealandImage)、由復數實部和虛部計算復數(RealandImagetoComplex)。4.3Simulink模塊庫4.3.5非線性模塊(Nonlinear)非線性模塊(Nonlinear)中包括一些常用的非線性模塊,如圖所示。4.3Simulink模塊庫1.比率限幅模塊(RateLimiter)功能:用于限制輸入信號的一階導數,使得信號的變化率不超過規定的限制值。2.飽和度模塊(Saturation)功能:對信號設置上下邊界。當輸入信號在由下限和上限參數指定的范圍內時,輸入信號毫無改變的通過。當輸入信號在邊界之外時,信號被減去上邊界值或下邊界值。3.量化模塊(Quantizer)功能:用于把輸入信號由平滑狀態變成臺階狀態。4.死區輸出模塊(DeadZone)功能:在指定的區域內產生0輸出。4.3Simulink模塊庫5.繼電模塊(Relay)功能:允許輸出在兩個給定的值之間切換。6.選擇開關模塊(Switch)功能:根據設置的門限來確定系統的輸出。4.3Simulink模塊庫4.3.6信號與系統模塊庫(signals&Systems)信號與系統模塊庫(signals&Systems)包括的主要模塊如圖所示。4.3Simulink模塊庫1.Bus信號選擇模塊(BusSelector)功能:從一個Mux模塊或另外一個BusSelector模塊接受信號。2.混路器模塊(Mux)功能:把多路信號組成一個矢量信號或者Bus信號。3.分路器模塊(Demux)功能:把混路器組成的信號按照原來的構成方法分解成多路信號。4.信號合成模塊(Merge)功能:該模塊將其輸入連線合并為單個的輸出線,其任何時刻的輸出值與其驅動模塊的最近計算輸出相等。4.3Simulink模塊庫5.接收/傳輸信號模塊(From/Goto)功能:接收/傳輸信號模塊(From/Goto)常常配合使用,From模塊用于從一個Goto模塊中接收一個輸入信號,Goto模塊用于把輸入信號傳遞給From模塊。6.初始值設定模塊(IC)功能:設置與它的輸出端口相連的信號的初始狀態。4.3Simulink模塊庫4.3.7信號輸出模塊(Sinks)信號輸出模塊(Sinks)包括的主要模塊如圖所示。4.3Simulink模塊庫1.示波器模塊(Scope)功能:顯示在仿真過程中產生的輸出信號,用于在示波器中顯示輸入信號與仿真時間的關系曲線,仿真時間為x軸。2.二維信號顯示模塊(XYGraph)功能:在MATLAB的圖形窗口中顯示一個二維信號圖,并將兩路信號分別作為示波器坐標的x軸與y軸,同時把它們之間的關系圖形顯示出來。3.顯示模塊(Display)功能:按照一定的格式顯示輸入信號的值。可供選擇的輸出格式包括:short、long、short_e、long_e、bank等。4.3Simulink模塊庫4.輸出到文件模塊(ToFile)功能:該模塊將輸出寫到MAT數據文件中的矩陣中。5.輸出到工作空間模塊(ToWorkspace)功能:把信號保存到MATLAB的當前工作空間,是另一種輸出方式。6.終止信號模塊(Terminator)功能:中斷一個未連接的信號輸出端口。7.結束仿真模塊(Stopsimulation)功能:停止仿真過程。當輸入為非零時,停止系統仿真。4.3Simulink模塊庫4.3.8信號源模塊庫(Sources)信號源模塊庫(Sources)包括的主要模塊如圖所示。4.3Simulink模塊庫1.輸入常數模塊(Constant)功能:產生一個常數。該常數可以是實數,也可以是復數。2.信號源發生器模塊(SignalGenerator)功能:產生不同的信號,其中包括:正弦波、方波、鋸齒波信號。3.從文件讀取信號模塊(FromFile)功能:從指定的數據文件中讀取數據,模塊圖標上會自動顯示文件的路徑。數據文件至少有兩行,第一行為單調遞增的時間,其他行為對應的輸入數據。4.從工作空間讀取信號模塊(FromWorkspace)功能:從MATLAB工作空間讀取信號作為當前的輸入信號。4.3Simulink模塊庫5.隨機數模塊(RandomNumber)功能:產生正態分布的隨機數。6.帶寬限制白噪聲模塊(BandLimitedWhiteNoise)功能:產生正態分布的隨機數,與RandomNumber的區別在于前者以一給定的采樣頻率產生輸出,而該模塊的采樣頻率與噪聲的相關時間有關。7.其它模塊各模塊功能可通過以下方法查看:先進入Simulink工作窗口,在菜單中執行Help/SimulinkHelp命令,這時就會彈出Help界面。第四章Simulink的應用
4.1Simulink工作平臺的啟動
4.2Simulink仿真原理4.3Simulink模塊庫
4.4Simulink在系統仿真中的應用4.5仿真算法與控制參數選擇4.4Simulink在系統仿真中的應用例:考慮圖中給出的典型非線性反饋系統框圖,其中控制器為PI控制器,其模型為飽和非線性中的死區非線性的死區寬度為。階躍4.3Simulink在系統仿真中的應用步驟:打開模型編輯窗口復制相關模塊修改模塊參數模塊連接系統仿真研究第四章Simulink的應用
4.1Simulink工作平臺的啟動
4.2Simulink仿真原理4.3Simulink模塊庫
4.4Simulink在系統仿真中的應用4.5仿真算法與控制參數選擇4.5仿真算法與控制參數選擇選中Simulink模型窗口的Simulation菜單項,其中ConfigurationParameters菜單項將打開如圖所示的對話框,允許用戶設置仿真控制參數。4.5仿真算法與控制參數選擇Starttime和Stoptime分別允許用戶填寫仿真的起始時間和結束時間;Solveroptions的Type有兩個選項,允許用戶選擇定步長和變步長算法。為了能保證仿真的精度,一般情況下建議選擇變步長算法。其后面的列表框中列出了各種各樣的算法,用戶可以從中選擇合適的算法進行仿真分析。仿真精度控制由RelativeTolerance(相對誤差限)選項、AbsoluteTolerance(絕對誤差限)等,對不同的算法還將有不同的控制參數,其中相對誤差限的默認值設置為1e-3,該值在實際仿真中顯得偏大,建議選擇1e-6和1e-7。4.5仿真算法與控制參數選擇4)在仿真時還可以選定最大允許的步長和最小允許的步長,這可以通過填寫Maxstepsize和Minstepsize的值來實現,如果變步長選擇的步長超過這個限制將彈出警告對話框。5)一些警告信息和警告級別的設置可以從其中的Diagnostics標簽下的對話框來實現。仿真結束后,會自動生成一個向量tout存放各個仿真時刻的時間值,若使用了outport模塊,則其輸出信號會自動賦值給yout變量,用戶就可以使用plot(tout,yout)這樣的命令來繪制仿真結果了。4.5仿真算法與控制參數選擇除用Simulation菜單啟動系統仿真的進程外,還可以調用sim()函數進行仿真分析,該函數的調用格式為:[t,x,y]=sim(模型名,仿真終止時間)其中模型名即對應的Simulink文件名,后綴.mdl可以省略,函數調用后,返回的t為時間向量,x為狀態矩陣,其各列為各個狀態變量,返回變量y的各列為各個輸出信號,亦即輸出端子outport構成的矩陣。4.5仿真算法與控制參數選擇例:非線性微分方程的框圖求解:考慮如下Rossler方程:選定解:Matlab工作空間返回兩個變量,tout和yout,tout表示各個仿真時刻,yout為一個三列的矩陣,分別對應于三個狀態變量。作圖:plot(tout,yout)%系統狀態的時間響應曲線comet3(yout(:,1),yout(:,2),yout(:,3))%三維的相空間曲線4.5仿真算法與控制參數選擇例:考慮下面的延遲微分方程假設,試用Simulink搭建仿真模型,并對該系統進行仿真,繪制出y(t)曲線。4.5仿真算法與控制參數選擇
Simulink仿真注意與技巧1.Simulink仿真注意(1)Simulink的數據類型由于Simulink在仿真過程中,始終都要檢查模型的類型安全性。模型的類型安全性是指從該模型產生的代碼不出現上溢或者下溢現象,當產生溢出現象時,系統將出錯誤。查看模塊的數據類型的方法是:在模型窗口的菜單中執行Format/PortDataTypes命令,這樣每個模塊支持的數據類型就顯示出來了。要取消數據類型的查看方式,單擊PortDataTypes去掉其前面的勾號即可。4.5仿真算法與控制參數選擇(2)數據的傳輸在仿真過程中,S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年國際金融理財師考試情境模擬試題及答案
- 銀行業務創新的方向與實現路徑探索試題及答案
- 2025年銀行從業資格證考生經驗分享試題及答案
- 2025年銀行從業資格證提升計劃試題及答案
- 小語種高分策略與試題及答案分享
- 定位2025年國際金融理財師考試試題及答案
- 突破界限特許金融分析師考試試題及答案
- 2025年銀行從業資格考試考生心理適應策略分析試題及答案
- 2025銀行從業資格考試復習計劃制定試題及答案
- 2024年山東省青島市市南區一模數學模擬試題(含答案)
- 菩薩蠻黃鶴樓(毛澤東).中職課件電子教案
- 《青少年心理健康研究開題報告文獻綜述(4500字)》
- 2023年司法考試民法歷年主觀題真題及答案
- 意向競租人報名確認表
- 新形態一體化教材建設的探索與實踐課件
- 高校行政考試必背
- 《面向對象程序設計(C#)》
- 微波技術與天線-第三章-微波元器件課件
- 互聯網+智慧校園解決方案(最新詳細方案)
- CPK基本知識及實例
- 人字梯驗收記錄表
評論
0/150
提交評論