Matlab仿真設(shè)計simulink_第1頁
Matlab仿真設(shè)計simulink_第2頁
Matlab仿真設(shè)計simulink_第3頁
Matlab仿真設(shè)計simulink_第4頁
Matlab仿真設(shè)計simulink_第5頁
已閱讀5頁,還剩59頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Simulink,1 Simulink簡介,Simulink是一個用來對動態(tài)系統(tǒng)進(jìn)行建模、仿真和分析的軟件包。使用Simulink來建模、分析和仿真各種動態(tài)系統(tǒng)(包括連續(xù)系統(tǒng)、離散系統(tǒng)和混合系統(tǒng)),將是一件非常輕松的事情。它提供了一種圖形化的交互環(huán)境,只需用鼠標(biāo)拖動的方法便能迅速地建立起系統(tǒng)框圖模型,甚至不需要編寫一行代碼。 利用Simulink進(jìn)行系統(tǒng)的建模仿真,其最大的優(yōu)點(diǎn)是易學(xué)、易用,并能依托MATLAB提供的豐富的仿真資源。,提供了仿真庫的擴(kuò)充和定制機(jī)制 Simulink的開放式結(jié)構(gòu)允許用戶擴(kuò)展仿真環(huán)境的功能:采用MATLAB、FORTRAN和C代碼生成自定義模塊庫,并擁有自己的圖標(biāo)和

2、界面。 與MATLAB工具箱的集成 由于Simulink可以直接利用MATLAB的諸多資源與功能,因而用戶可以直接在 Simulink下完成諸如數(shù)據(jù)分析、過程自動化、優(yōu)化參數(shù)等工作。,Simulink應(yīng)用領(lǐng)域,Simulink優(yōu)點(diǎn) 適應(yīng)面廣:包括線性、非線性系統(tǒng);離散、連續(xù)系統(tǒng) 結(jié)構(gòu)和流程清晰:以方塊圖形式呈現(xiàn), 仿真精細(xì)、貼近實(shí)際,simulink 的模型: simulink模型在視覺上表現(xiàn)為方框圖,在文件上則是擴(kuò)展名為m的ASCII代碼(matlab6是擴(kuò)展名為mdl的ASCII代碼);在數(shù)學(xué)上體現(xiàn)為一組微分方程或差分方程;在行為上模擬了物理器件構(gòu)成的實(shí)際系統(tǒng)的動態(tài)特性。 simulink

3、 的一般結(jié)構(gòu):,輸入,系統(tǒng),輸出, 仿真原理 當(dāng)在框圖視窗中進(jìn)行仿真的同時,matlab 實(shí)際上是運(yùn)行保存于simulink內(nèi)存中s函數(shù)的映象文件,而不是解釋運(yùn)行該m文件。 s函數(shù)并不是標(biāo)準(zhǔn)m文件,它m文件的一種特殊形式。 結(jié)構(gòu)圖創(chuàng)建方法 一個動態(tài)系統(tǒng)的創(chuàng)建過程,就是一個方框圖的繪制過程,2 Simulink啟動及模型建立,Simulink的啟動主要有以下兩種方法: 在MATLAB的命令窗口中輸入simulink,結(jié)果是在桌面上出現(xiàn)一個Simulink Library Browser的窗口。 單擊MATLAB主窗口的快捷按鈕 ,打開Simulink Library Browser窗口 。,Si

4、mulink模型窗口的建立,在Simulink中打開一個空白的模型窗口的方法: 選中Simulink菜單系統(tǒng)中的File | New | Model菜單項(xiàng)后,會生成一個Simulink窗口; 單擊Simulink工具欄中的“新建模型”圖標(biāo); 在MATLAB的命令窗口中選擇File | New | New Model菜單項(xiàng);,啟動Simulink,建立系統(tǒng)模型的基本操作,Simulink的模塊庫,Simulink的模塊庫能夠?qū)ο到y(tǒng)模塊進(jìn)行有效的管理與組織可以直接將模塊庫中的模塊拖動或者拷貝到用戶的系統(tǒng)模型中以構(gòu)建動態(tài)系統(tǒng)模型。,Simulink公共模塊庫,Simulink中最為基礎(chǔ)、最為通用的模

5、塊庫,它可以被應(yīng)用到不同的專業(yè)領(lǐng)域中。 連續(xù)模塊continuous、非連續(xù)模塊discontinuous 離散模塊discrete、查找表模塊Look-up Table 數(shù)學(xué)運(yùn)算Math Operations 模型驗(yàn)證模塊Model Verification 模型擴(kuò)充工具M(jìn)odel-Wide Utilities 端口和子系統(tǒng)模塊Ports 將系統(tǒng)模塊插入到系統(tǒng)模型中; 查看系統(tǒng)模塊的參數(shù)設(shè)置; 以及回到系統(tǒng)模塊的上一層庫。,此外還可以進(jìn)行以下操作: (1) 使用鼠標(biāo)左鍵選擇并拖動系統(tǒng)模塊,并將其拷貝到系統(tǒng)模型中。 (2) 在模塊搜索欄中搜索所需的系統(tǒng)模塊。,例:簡單系統(tǒng)的輸入為一個正弦波信號

6、,輸出為此正弦波信號與一個常數(shù)的乘積。要求建立系統(tǒng)模型,并以圖形方式輸出系統(tǒng)運(yùn)算結(jié)果。 已知系統(tǒng)的數(shù)學(xué)描述為 系統(tǒng)輸入: u(t)=sin t , t0 系統(tǒng)輸出: y(t)=au(t), a0,相關(guān)操作:,模塊庫 Sine Wave來自sources; Gain來自Math Operations;Scope來自Sinks 連接方法 (1)拖動對應(yīng)端口進(jìn)行連接 (2)單擊起始模塊后,按Ctrl鍵再單擊目標(biāo)模塊 模塊復(fù)制 傳統(tǒng)方式Ctrl+C/Ctrl+V、或Ctrl鍵再拖動模塊 模塊插入 對于單輸入單輸出模塊,只需將這個模塊移到線上就可以自動連接。,連線操作,連線分支 使用鼠標(biāo)右鍵單擊需要分支

7、的信號連線(光標(biāo)變成“+”),然后拖動到目標(biāo)模塊。 使用鼠標(biāo)左鍵單擊并拖動以改變信號連線的路徑。 按下Shift鍵的同時,在信號連線上單擊鼠標(biāo)左鍵并拖動,可以生成新的節(jié)點(diǎn)。 在節(jié)點(diǎn)上使用鼠標(biāo)左鍵單擊并拖動,可以改變信號連線路徑。,信號組合 在利用Simulink進(jìn)行系統(tǒng)仿真時,在很多情況下,需要將系統(tǒng)中某些模塊的輸出信號(一般為標(biāo)量)組合成一個向量信號,并將得到的信號作為另外一個模塊的輸入。,來自Signal Routing的Bus Creator,3 Simulink模型仿真,系統(tǒng)模塊參數(shù)設(shè)置與系統(tǒng)仿真參數(shù)設(shè)置 雙擊系統(tǒng)模塊,打開系統(tǒng)模塊的參數(shù)設(shè)置對話框。 在參數(shù)設(shè)置對話框中設(shè)置合適的模塊參

8、數(shù)。 設(shè)置合適的系統(tǒng)仿真參數(shù)以進(jìn)行動態(tài)系統(tǒng)的仿真 在Simulation菜單的Simulation parameters.子菜單中進(jìn)行設(shè)置,如仿真時間等 運(yùn)行仿真 單擊系統(tǒng)模型編輯器上的Play圖標(biāo)(黑色三角)或選擇Simulation菜單下的Start便可以對系統(tǒng)進(jìn)行仿真分析。 仿真結(jié)束后雙擊Scope模塊以顯示系統(tǒng)仿真的輸出結(jié)果,1、連續(xù)模塊(Continuous) continuous.mdl Integrator:輸入信號積分 Derivative:輸入信號微分 State-Space:線性狀態(tài)空間系統(tǒng)模型 Transfer-Fcn:線性傳遞函數(shù)模型 Zero-Pole:以零極點(diǎn)表示的

9、傳遞函數(shù)模型 Memory:存儲上一時刻的狀態(tài)值 Transport Delay:輸入信號延時一個固定時間再輸出 Variable Transport Delay:輸入信號延時一個可變時間再輸出,2、離散模塊(Discrete) discrete.mdl Discrete-time Integrator:離散時間積分器 Discrete Filter:IIR與FIR濾波器 Discrete State-Space:離散狀態(tài)空間系統(tǒng)模型 Discrete Transfer-Fcn:離散傳遞函數(shù)模型 Discrete Zero-Pole:以零極點(diǎn)表示的離散傳遞函數(shù)模型 First-Order Ho

10、ld:一階采樣和保持器 Zero-Order Hold:零階采樣和保持器 Unit Delay:一個采樣周期的延時,3、 Function plot(t,y),plot(t,yout),Scope高級使用技術(shù),1) Scope的參數(shù)設(shè)置 使用Scope模塊的參數(shù)設(shè)置選項(xiàng)卡能夠?qū)ο到y(tǒng)仿真輸出結(jié)果顯示進(jìn)行更多的控制,而不僅僅是上述的簡單控制。圖36、圖37所示分別為Scope模塊參數(shù)設(shè)置選項(xiàng)卡中的General選項(xiàng)卡與Data History選項(xiàng)卡。,Scope模塊的General選項(xiàng)卡,Scope模塊的Data history選項(xiàng)卡,下面簡單介紹一下各選項(xiàng)卡的功能與使用。 1) 坐標(biāo)系數(shù)目(Nu

11、mber of axes) 功能描述:在一個Scope輸出模塊中使用多個坐標(biāo)系窗口同時輸出多個信號。在默認(rèn)設(shè)置下,Scope模塊僅顯示一個坐標(biāo)系窗口。 2) 懸浮Scope開關(guān)(Floating scope) 功能描述:將Scope模塊切換為懸浮Scope模塊。,3) 顯示時間范圍(Time range) 功能描述:設(shè)置信號顯示的時間范圍。注意:信號顯示的時間范圍與系統(tǒng)仿真時間范圍并不等同,并且坐標(biāo)系所示的時間范圍并非為絕對時間,而是指相對時間范圍,坐標(biāo)系的左下角的時間偏移(Time offset)給出了時間的起始偏移量(即顯示時間范圍的起始時刻)。 4) 坐標(biāo)系標(biāo)簽(Tick labels)

12、 功能描述:確定Scope模塊中各坐標(biāo)系是否帶有坐標(biāo)軸標(biāo)簽。 下方坐標(biāo)系使用標(biāo)簽(bottom axis only)以及都不使用標(biāo)簽(none)。用戶最好使用標(biāo)簽,這有利于對信號的觀察理解.,5) 信號顯示點(diǎn)數(shù)限制(Limit data points to last) 功能描述:限制信號顯示的數(shù)據(jù)點(diǎn)的數(shù)目,Scope模塊會自動對信號進(jìn)行截取以顯示信號的最后n個點(diǎn)(這里n為設(shè)置的數(shù)值)。,6) 保存信號至工作空間變量(Save data to workspace) 功能描述:將由Scope模塊顯示的信號保存到Matlab工作空間變量中,以便于對信號進(jìn)行更多的定量分析。數(shù)據(jù)保存類型有三種:帶時間變

13、量的結(jié)構(gòu)體(structure with time)、結(jié)構(gòu)體(structure)以及數(shù)組變量(Array)。這與前面所介紹的Sinks模塊庫中的To workspace模塊類似。,此外,在Scope模塊中的坐標(biāo)系中單擊鼠標(biāo)右鍵,選擇彈出菜單中坐標(biāo)系屬性設(shè)置命令(axes properties),將彈出下圖所示的坐標(biāo)系屬性設(shè)置對話框。用戶可以對Scope模塊的坐標(biāo)系標(biāo)題與顯示信號范圍進(jìn)行合適的設(shè)置,以滿足仿真輸出結(jié)果顯示的需要。,坐標(biāo)系屬性設(shè)置對話框,設(shè)置信號顯,示幅值范圍,坐標(biāo)系標(biāo)題:一,般采用信號名稱,如何調(diào)用MATLAB工作空間中的信號矩陣作為模型輸入。本例所需的輸入為 。 (1)編寫一

14、個產(chǎn)生信號矩陣的M函數(shù)文件 function TU=source925_1(T0,N0,K) t=linspace(0,K*T0,K*N0+1); N=length(t); u1=t(1:(N0+1).2; u2=(t(N0+2):(2*N0+1)-2*T0).2; u3(1:(N-(2*N0+2)+1)=0; u=u1,u2,u3; TU=t,u;,在指令窗中,運(yùn)行以下指令,在MATLAB工作空間中產(chǎn)生TU信號矩陣。 TU=source925_1(1,100,4); 選中exm925_1模型窗菜單【Simulation:Start】,示波器呈現(xiàn)右圖信號。,積分模塊直接構(gòu)造微分方程求解模型,假

15、設(shè)從實(shí)際自然界(力學(xué)、電學(xué)、生態(tài)等)或社會中,抽象出有初始狀態(tài)為0的二階微分方程 是單位階躍函數(shù)。本例演示如何用積分器直接構(gòu)搭求解該微分方程的模型。,仿真操作后,保存在MATLAB工作空間中的數(shù)據(jù) clf tt=ScopeData.time;%為書寫簡單,把構(gòu)架域的時間數(shù)據(jù)另賦給tt xx=ScopeData.signals.values;%目的同上。 xm,km=max(xx); plot(tt,xx,r,LineWidth,4),hold on plot(tt(km),xm,b.,MarkerSize,36),hold off strmax=char(最大值,t = ,num2str(tt

16、(km),x = ,num2str(xm); text(6.5,xm,strmax),xlabel(t),ylabel(x),利用存放在MATLAB工作空間中的仿真數(shù)據(jù)所繪制的曲線,4 Simulink子系統(tǒng)介紹,Simulink提供的子系統(tǒng)功能可以大大地增強(qiáng)Simulink系統(tǒng)模型框圖的可讀性。 子系統(tǒng)可以理解為一種“容器”,此容器能夠?qū)⒁唤M相關(guān)的模塊封裝到一個單獨(dú)的模塊中,并且與原來系統(tǒng)模塊組的功能一致。,子系統(tǒng)建立方法(2種),在已有的系統(tǒng)模型中建立子系統(tǒng): 首先框選待封裝的區(qū)域,即在模型編輯器背景中單擊鼠標(biāo)左鍵并拖動,選中需要放置到子系統(tǒng)中的模塊與信號(或在按下Shift鍵的同時,用鼠

17、標(biāo)左鍵單擊所需模塊);然后選擇Edit菜單下的Create Subsystem,即可建立子系統(tǒng)。 建立空的子系統(tǒng): Subsystems模塊庫中的模塊建立子系統(tǒng)。這樣建立的子系統(tǒng)內(nèi)容為空,然后雙擊子系統(tǒng)對其進(jìn)行編輯。,子系統(tǒng)操作 在生成子系統(tǒng)之后,用戶可以對子系統(tǒng)進(jìn)行各種與系統(tǒng)模塊相類似的操作,這時子系統(tǒng)相當(dāng)于具有一定功能的系統(tǒng)模塊。例如,子系統(tǒng)的命名、子系統(tǒng)視圖的修改、子系統(tǒng)的顯示顏色等等。當(dāng)然子系統(tǒng)也有其特有的操作,如子系統(tǒng)的顯示(用鼠標(biāo)左鍵雙擊子系統(tǒng)模塊即可打開子系統(tǒng))、子系統(tǒng)的封裝等等。,Inport輸入模塊與Outport輸出模塊 在系統(tǒng)模型中建立子系統(tǒng)時,Simulink會自動生成

18、Inport模塊(Sources模塊庫中的In1模塊)與Outport模塊(Sinks模塊庫中的Out1模塊)。Inport模塊作為子系統(tǒng)的輸入端口,Outport作為子系統(tǒng)的輸出端口,它們被用來完成子系統(tǒng)和主系統(tǒng)之間的通訊。 Inport和Outport用來對信號進(jìn)行傳遞,不改變信號的任何屬性;另外,信號標(biāo)簽可以越過它們進(jìn)行傳遞。如果需要建立多輸入多輸出的子系統(tǒng),則需要使用多個Inport模塊與Outport模塊,而且最好使用合適的名稱對Inport模塊與Outport模塊進(jìn)行命名。,5 Simulink與Matlab的接口設(shè)計,由MATLAB工作空間變量設(shè)置系統(tǒng)模塊參數(shù) 模塊參數(shù)可以是常量

19、也可以工作空間變量 直接使用MATLAB工作空間中的變量設(shè)置模塊參數(shù)。 使用變量的表達(dá)式設(shè)置模塊參數(shù)。 例如,如果a是定義在MATLAB中的變量,則表達(dá)式a、a2+5、exp(a)等均可以作為系統(tǒng)模塊的參數(shù),將信號輸出到MATLAB工作空間中 使用示波器模塊Scope的輸出信號,可以使用戶對輸出的信號進(jìn)行簡單的定性分析。 使用Sinks模塊庫中的To Workspace 模塊,可以輕易地將信號輸出到MATLAB工作空間中。信號輸出的名稱在To Workspace模塊的對話框中設(shè)置,此對話框還可以設(shè)置輸出數(shù)據(jù)的點(diǎn)數(shù)、輸出的間隔,以及輸出數(shù)據(jù)的類型等。其中輸出類型有三種形式:數(shù)組、結(jié)構(gòu)以及帶有時間

20、變量的結(jié)構(gòu)。仿真結(jié)束或暫停時信號被輸出到工作空間中。,使用工作空間變量作為系統(tǒng)輸入信號 Simulink與MATLAB的數(shù)據(jù)交互是相互的,除了可以將信號輸出到MATLAB工作空間中之外,用戶還可以使用MATLAB工作空間中的變量作為系統(tǒng)模型的輸入信號。使用Sources模塊庫中的From Workspace模塊可以將MATLAB工作空間中的變量作為系統(tǒng)模型的輸入信號。此變量的格式如下所示: t=0:0.1:10; x=sin(t); input=t,x; 系統(tǒng)輸入信號input的作用相當(dāng)于Sources模塊中的Sine Wave模塊,向量與矩陣 Simulink所使用的信號可以是標(biāo)量也能夠傳遞和使用向量信號。例如,向量增益可以作用在一個標(biāo)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論