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