簡介
Simulink是MATLAB最重要的組件之一,它提供一個動態系統建模、仿真和綜合分析的集成環境。在該環境中,無需大量書寫程式,而只需要通過簡單直觀的滑鼠操作,就可構造出複雜的系統。Simulink具有適應面廣、結構和流程清晰及仿真精細、貼近實際、效率高、靈活等優點,並基於以上優點Simulink已被廣泛套用於控制理論和數位訊號處理的複雜仿真和設計。同時有大量的第三方軟體和硬體可套用於或被要求套用於Simulink。
功能
Simulink是MATLAB中的一種可視化仿真工具, 是一種基於MATLAB的框圖設計環境,是實現動態系統建模、仿真和分析的一個軟體包,被廣泛套用於線性系統、非線性系統、數字控制及數位訊號處理的建模和仿真中。Simulink可以用連續採樣時間、離散採樣時間或兩種混合的採樣時間進行建模,它也支持多速率系統,也就是系統中的不同部分具有不同的採樣速率。為了創建動態系統模型,Simulink提供了一個建立模型方塊圖的圖形用戶接口(GUI) ,這個創建過程只需單擊和拖動滑鼠操作就能完成,它提供了一種更快捷、直接明了的方式,而且用戶可以立即看到系統的仿真結果。
Simulink是用於動態系統和嵌入式系統的多領域仿真和基於模型的設計工具。對各種時變系統,包括通訊、控制、信號處理、視頻處理和圖像處理系統,Simulink提供了互動式圖形化環境和可定製模組庫來對其進行設計、仿真、執行和測試。.構架在Simulink基礎之上的其他產品擴展了Simulink多領域建模功能,也提供了用於設計、執行、驗證和確認任務的相應工具。Simulink與MATLAB緊密集成,可以直接訪問MATLAB大量的工具來進行算法研發、仿真的分析和可視化、批處理腳本的創建、建模環境的定製以及信號參數和測試數據的定義。
特點
豐富的可擴充的預定義模組庫互動式的圖形編輯器來組合和管理直觀的模組圖以設計功能的層次性來分割模型,實現對複雜設計的管理通過Model Explorer 導航、創建、配置、搜尋模型中的任意信號、參數、屬性,生成模型代碼提供API用於與其他仿真程式的連線或與手寫代碼集成使用Embedded MATLAB™ 模組在Simulink和嵌入式系統執行中調用MATLAB算法使用定步長或變步長運行仿真,根據仿真模式(Normal,Accelerator,Rapid Accelerator)來決定以解釋性的方式運行或以編譯C代碼的形式來運行模型圖形化的調試器和剖析器來檢查仿真結果,診斷設計的性能和異常行為可訪問MATLAB從而對結果進行分析與可視化,定製建模環境,定義信號參數和測試數據模型分析和診斷工具來保證模型的一致性,確定模型中的錯誤。
啟動
1、在MATLAB命令視窗中輸入simulink
結果是在桌面上出現一個稱為Simulink Library Browser的視窗,在這個視窗中列出了按功能分類的各種模組的名稱。
當然用戶也可以通過MATLAB主視窗的快捷按鈕來打開Simulink Library Browser視窗。
2、在MATLAB命令視窗中輸入simulink3
結果是在桌面上出現一個用圖示形式顯示的Library :simulink3的Simulink模組庫視窗。
兩種模組庫視窗界面只是不同的顯示形式,用戶可以根據各人喜好進行選用,一般說來第二種視窗直觀、形象,易於初學者,但使用時會打開太多的子視窗。
模組介紹
SIMILINK模組庫按功能進行分類,包括以下8類子庫:
Continuous(連續模組)
Discrete(離散模組)
Function&Tables(函式和平台模組)
Math(數學模組)
Nonlinear(非線性模組)
Signals&Systems(信號和系統模組)
Sinks(接收器模組)
Sources(輸入源模組)
1、連續模組(Continuous) continuous.mdl
Integrator:輸入信號積分
Derivative:輸入信號微分
State-Space:線性狀態空間系統模型
Transfer-Fcn:線性傳遞函式模型
Zero-Pole:以零極點表示的傳遞函式模型
Memory:存儲上一時刻的狀態值
Transport Delay:輸入信號延時一個固定時間再輸出
Variable Transport Delay:輸入信號延時一個可變時間再輸出
2、離散模組(Discrete) discrete.mdl
Discrete-time Integrator:離散時間積分器
Discrete Filter:IIR與FIR濾波器
Discrete State-Space:離散狀態空間系統模型
Discrete Transfer-Fcn:離散傳遞函式模型
Discrete Zero-Pole:以零極點表示的離散傳遞函式模型
First-Order Hold:一階採樣和保持器
Zero-Order Hold:零階採樣和保持器
Unit Delay:一個採樣周期的延時
3、 Function&Tables(函式和平台模組) function.mdl
Fcn:用用戶自定義的函式(
表達式)進行運算
MATLAB Fcn:利用
matlab的現有函式進行運算
S-Function:調用自編的S函式的程式進行運算
Look-Up Table:建立輸入信號的查詢表(線性峰值匹配)
Look-Up Table(2-D):建立兩個輸入信號的查詢表(線性峰值匹配)
4、 Math(數學模組) math.mdl
Sum:加減運算
Product:乘運算
Dot Product:點乘運算
Gain:比例增益運算
Math Function:包括指數函式、對數函式、求平方、開根號等常用數學函式
Trigonometric Function:三角函式,包括正弦、餘弦、正切等
MinMax:最值運算
Abs:取絕對值
Sign:符號函式
Logical Operator:邏輯運算
Relational Operator:關係運算
Complex to Magnitude-Angle:由複數輸入轉為幅值和相角輸出
Magnitude-Angle to Complex:由幅值和相角輸入合成複數輸出
Complex to Real-Imag:由複數輸入轉為實部和虛部輸出
Real-Imag to Complex:由實部和虛部輸入合成複數輸出
5、 Nonlinear(非線性模組) nonlinear.mdl
Saturation:飽和輸出,讓輸出超過某一值時能夠飽和。
Relay:滯環
比較器,限制輸出值在某一範圍內變化。
Switch:開關選擇,當第二個輸入端大於臨界值時,輸出由第一個輸入端而來,否則輸出由第三個輸入端而來。
Manual Switch:手動選擇開關
6、Signal&Systems(信號和系統模組) sigsys.mdl
In1:輸入端。
Out1:輸出端。
Mux:將多個單一輸入轉化為一個複合輸出。
DEMUX:將一個複合輸入轉化為多個單一輸出。
Ground:連線到沒有連線到的輸入端。
Terminator:連線到沒有連線到的輸出端。
SubSystem:建立新的
封裝(Mask)功能模組
7、Sinks(接收器模組) sinks.mdl
Scope:示波器。
XY Graph:顯示二維圖形。
To Workspace:將輸出寫入MATLAB的工作空間。
To File(.mat):將輸出寫入數據檔案。
8、Sources(輸入源模組) sources.mdl
Constant:常數信號。
Clock:時鐘信號。
From Workspace:來自MATLAB的工作空間。
From File(.mat):來自數據檔案。
Pulse Generator:脈衝發生器。
Repeating Sequence:重複信號。
Signal Generator:信號發生器,可以產生正弦、方波、鋸齒波及隨意波。
Sine Wave:正弦波信號。
Step:階躍波信號。
Ramp: 斜坡信號。