相信工科生都聽過Simulink這個神器,要是能在畢業(yè)設(shè)計中做個仿真,論文的逼格立馬上去了,是不是?
Simulink是一個對動態(tài)系統(tǒng)(包括連續(xù)系統(tǒng)、離散系統(tǒng)和混合系統(tǒng))進(jìn)行建模、仿真和綜合分析的集成軟件包,是Matlab的重要組成部分。
Simulink建模大致分為兩步:創(chuàng)建模型圖標(biāo)和控制Simulink對其進(jìn)行仿真。
-
圖形化的模型和現(xiàn)實系統(tǒng)之間的映射關(guān)系
- 輸入——>狀態(tài)——>輸出 <=> 信源——>系統(tǒng)——>信宿
-
利用映射關(guān)系進(jìn)行仿真
- 模型編譯階段
- 連接階段
- 仿真環(huán)階段
- 初始化階段
- 迭代階段
小例子:已知振動系統(tǒng)的振動速度為x(t) = sin(t),初始條件為x(0) = 0,仿真該系統(tǒng)的振動位移。
因為位移等于速度對時間的積分,所以仿真過程如下:
- 新建Simulink仿真模型
- 輸入為Source模塊中的Sine Wave正弦波模塊
- 輸出為Sink模塊中的Scope示波器模塊
-
狀態(tài)為Continuous模塊中的Integrator積分模塊
模型圖
整個過程就是鼠標(biāo)拖動模塊,連兩條信號線就可以了,so easy。
-
運(yùn)行仿真,雙擊Scope模塊查看仿真結(jié)果
振動位移仿真結(jié)果
以上是一個Simulink仿真的最簡單的案例,但麻雀雖小,五臟俱全。學(xué)會這些,對于簡單小系統(tǒng)的仿真已經(jīng)夠用了。對于復(fù)雜系統(tǒng)可以通過封裝子系統(tǒng)使模型更簡潔,如果需要自定義模塊,可以編寫S函數(shù)來實現(xiàn)。
總結(jié)一下Simulink建模與仿真步驟:
- 畫出系統(tǒng)框圖,將需仿真的系統(tǒng)根據(jù)功能劃分為子系統(tǒng),然后選用模塊搭建每個子系統(tǒng)
- 拖拽模塊庫中所需模塊到空白模型窗口中,按系統(tǒng)框圖的布局?jǐn)[好并連接各模塊
- 若系統(tǒng)比較復(fù)雜,可將同一功能模塊封裝成一個子系統(tǒng)
- 設(shè)置各模塊的參數(shù)和仿真有關(guān)的各種參數(shù)
- 保存模型,運(yùn)行仿真,觀察結(jié)果
- 調(diào)試并修改模型,直到結(jié)果符合要求為止

