第五講 基于MATLAB-Simulink的建模與仿真_第1頁
第五講 基于MATLAB-Simulink的建模與仿真_第2頁
第五講 基于MATLAB-Simulink的建模與仿真_第3頁
第五講 基于MATLAB-Simulink的建模與仿真_第4頁
第五講 基于MATLAB-Simulink的建模與仿真_第5頁
已閱讀5頁,還剩95頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計(jì)算機(jī)仿真技術(shù)主講教師:張春燕xiangyutianji@163.com課件制作者:張春燕第五講基于MATLAB/Simulink的建模與仿真

MATLAB軟件簡介

MATLAB仿真實(shí)例什么是Simulink?

Simulink模塊庫簡介

Simulink模型的建立方法

Simulink建模與仿真舉例小結(jié)

MATLAB軟件簡介?MATLAB是一門計(jì)算機(jī)編程語言,是一種科學(xué)計(jì)算軟件,取名來源于MatrixLaboratory,本意是專門以矩陣的方式來處理計(jì)算機(jī)數(shù)據(jù)

.MATLAB將高性能的數(shù)值計(jì)算和可視化集成在一起,并提供了大量的內(nèi)置函數(shù),被廣泛應(yīng)用在科學(xué)計(jì)算,信息處理,控制系統(tǒng)等領(lǐng)域的分析,仿真和設(shè)計(jì)工作。

MATLAB的功能包括:數(shù)值分析,數(shù)值和符號(hào)計(jì)算,工程和科學(xué)繪圖,通訊和控制系統(tǒng)的設(shè)計(jì)與仿真,數(shù)字圖像與信號(hào)處理,財(cái)務(wù)與金融工程等。

MATLAB軟件簡介?MATLAB軟件的典型應(yīng)用領(lǐng)域:科學(xué)研究;工程技術(shù)應(yīng)用研究CAI(ComputerAidedInstruct)數(shù)學(xué)實(shí)驗(yàn)(MathematicalExperiment)數(shù)學(xué)建模(MathematicalModeling)clear刪除工作空間中的所有變量!系統(tǒng)不會(huì)要求你確認(rèn)這個(gè)命令。所有變量都被清除且不能再恢復(fù)。對(duì)于簡單的問題,在MATLAB提示符下輸入命令是快速有效的。然而當(dāng)命令數(shù)增加或希望改變一個(gè)或幾個(gè)變量的值,然后重新執(zhí)行一系列命令時(shí),在MATLAB提示符處鍵入命令就非常麻煩了。對(duì)這個(gè)問題MATLAB提供了一種邏輯解決方案。它允許用戶把MATLAB命令放在一個(gè)簡單的文本文件中,然后告訴MATLAB打開文件并執(zhí)行命令,如同在MATLAB提示符處鍵入命令一樣。這些文件被稱為腳本文件或簡單地稱為M文件。M文件是指腳本文件以擴(kuò)展名.m結(jié)尾。

MATLAB軟件簡介?MATLAB提供三種控制流結(jié)構(gòu)的語句:For-end循環(huán)While-end循環(huán)If-Else-End結(jié)構(gòu)

MATLAB軟件簡介?For-end循環(huán)的基本作用是以固定的和預(yù)定的次數(shù)重復(fù)一組特定的命令。一般形式是:forn=循環(huán)控制量的范圍{commands}end

MATLAB軟件簡介?說明:在for和end語句之間的命令串{commands}按矩陣(array)中的每一列執(zhí)行一次。在每一次迭代中,n被指定為循環(huán)控制量的范圍內(nèi)的下一列。例如:forn=1:10x(n)=sin(n*pi/10);end這個(gè)循環(huán)體的作用是:對(duì)n等于1到10,求所有語句的值,直到下一個(gè)end語句。第1次通過For循環(huán)n=1,第2次,n=2,如此繼續(xù),直到n=10。在n=10以后,F(xiàn)or循環(huán)結(jié)束,然后求end語句后面的任何命令值For循環(huán)不能用For循環(huán)內(nèi)重新賦值循環(huán)變量n來終止。在For循環(huán)中循環(huán)控制量的范圍可以是任何有效的MATLAB矩陣。比如data=[119456;716-15];forn=datax=n(1)-n(2)end這時(shí)程序的輸出有四個(gè)數(shù)值,分別是矩陣data的兩列相減的結(jié)果x=4x=-7x=46x=1For循環(huán)可按需要嵌套,即For循環(huán)體內(nèi)的命令組中可以出現(xiàn)另一個(gè)For循環(huán)體,這體現(xiàn)了For循環(huán)體也是命令組。比如forn=1:5form=5:-1:1A(n,m)=n^2+m^2;EndendWhile-end循環(huán)以不定的次數(shù)求一組語句的值。Whil-end循環(huán)的一般形式是:whileexpression(控制表達(dá)式){commands}end只要在控制表達(dá)式(expression)里的所有元素為真,就執(zhí)行While和end語句之間的命令串({commands})。

MATLAB軟件簡介?說明:控制表達(dá)式的值未必是一個(gè)標(biāo)量值,矩陣值也同樣有效。在矩陣情況下,所得到矩陣的所有元素必須都為真。具體示例:num=0;EPS=1;while(1+EPS)>1EPS=EPS/2;num=num+1;end這段MATLAB代碼最后在num=53時(shí)停止。IF-ELSE-END結(jié)構(gòu)提供有條件地執(zhí)行一些特定的命令序列的方式。最簡單的IF-ELSE-END結(jié)構(gòu)是:ifexpression(條件控制表達(dá)式){commands}end如果在條件控制表達(dá)式(expression)中的所有元素為真(非零),那么就執(zhí)行if和end語句之間的命令串({commands})。在表達(dá)式包含有幾個(gè)邏輯表達(dá)式時(shí),即使前一個(gè)表達(dá)式?jīng)Q定了表達(dá)式的最后邏輯狀態(tài),仍要計(jì)算所有的子表達(dá)式。

MATLAB軟件簡介?一般的有兩個(gè)選擇的IF-ELSE-END結(jié)構(gòu)是:ifexpression(條件控制表達(dá)式)commandsevaluatedifTrueelsecommandsevaluatedifTrueend在這里,如果條件控制表達(dá)式(expression)為真,則執(zhí)行第1組命令;如果表達(dá)式是假,則執(zhí)行第2組命令。有三個(gè)或更多選擇時(shí)的IF-ELSE-END結(jié)構(gòu)的形式:ifexpression1commandsevaluated-ifexpression1isTrueelseifexpression2commandsevaluated-ifexpression2isTrueelseifexpression3commandsevaluated-ifexpression3isTrueelseif

elsecommandsevaluatedifonotherexpressionisTrueend最后這種有三個(gè)以上選擇的IF-ELSE-END形式,依次檢查各表達(dá)式,只執(zhí)行第一個(gè)表達(dá)式為真的命令串,接下來的關(guān)系表達(dá)式不檢驗(yàn),跳過其余的IF-ELSE-END結(jié)構(gòu)。最后的else命令可有可無。break是一種特殊的控制結(jié)構(gòu),基本作用是無條件跳出臨近的循環(huán)體,即結(jié)束For循環(huán)和While循環(huán)的執(zhí)行。

MATLAB軟件簡介?學(xué)習(xí)和使用常用軟件MATLAB的一些基本語句和功能來驗(yàn)證或觀察函數(shù)的變化,實(shí)現(xiàn)函數(shù)的可視化計(jì)算

MATLAB軟件簡介?MATLAB仿真舉例設(shè)系統(tǒng)方程,y(0)=1試用Euler法求其數(shù)值解(取步長h=0.1,0≤t≤1)試編寫matlab程序求其數(shù)值解。設(shè)系統(tǒng)方程,y(0)=1試用Euler法求其數(shù)值解(取步長h=0.1,0≤t≤1)試編寫matlab程序求其數(shù)值解。Euler迭代公式:yn+1=yn-0.1yn2MATLAB仿真舉例Euler迭代公式:yn+1=yn-0.1yn2,y(0)=1(取步長h=0.1,0≤t≤1)MATLAB仿真舉例Euler迭代公式:yn+1=yn-0.1yn2,y(0)=1t=[0:0.1:1]’;length=size(t,1);y=zeros(size(t));y(1)=1;forn=1:1:length-1y(n+1)=y(n)-0.1*y(n)^2endplot(t,y)(取步長h=0.1,0≤t≤1)MATLAB仿真舉例運(yùn)行結(jié)果:y=1.00000.90000.81900.75190.69540.64700.60520.56850.53620.50750.4817MATLAB仿真舉例

作業(yè)設(shè)系統(tǒng)方程,y(0)=1試用二階龍格庫塔法求其數(shù)值解(取步長h=0.1,0≤t≤1)試編寫matlab程序求其數(shù)值解。二階龍格庫塔法迭代公式:請(qǐng)?jiān)诘诙螌?shí)驗(yàn)時(shí)上機(jī)驗(yàn)證結(jié)果。

Simulink是MATLAB提供的實(shí)現(xiàn)動(dòng)態(tài)系統(tǒng)建模和仿真的一個(gè)軟件包,它讓用戶把精力從編程轉(zhuǎn)向模型的構(gòu)造。

Simulink一個(gè)很大的優(yōu)點(diǎn)是為用戶省去了許多重復(fù)的代碼編寫工作。Simulink

支持線性,非線性系統(tǒng),連續(xù)系統(tǒng),離散系統(tǒng),或者混合系統(tǒng)的建模與仿真。同時(shí)它也支持具有不同部分擁有不同采樣率的多種采樣速度的系統(tǒng)仿真。

Simulink的啟動(dòng)方式有兩種:(1)在工具欄點(diǎn)擊Simulink圖標(biāo);(2)在CommandWindow中輸入:>>Simulink

什么是Simulink?

Simulink模塊庫簡介SIMILINK模塊庫按功能進(jìn)行分類:連續(xù)模塊、離散模塊、查表模塊、數(shù)學(xué)模塊、非線性模塊、信號(hào)通路模塊、接收器模塊、輸入源模塊、其他常用方塊組及工具箱、特別模塊。

Simulink模塊庫簡介Derivative:輸入信號(hào)微分Integrator:積分器State-Space:線性狀態(tài)空間系統(tǒng)模型Transfer-Fcn:線性傳遞函數(shù)模型Zero-Pole:以零極點(diǎn)表示的傳遞函數(shù)模型Memory:存儲(chǔ)上一時(shí)刻的狀態(tài)值TransportDelay:輸入信號(hào)延時(shí)一個(gè)給定時(shí)間再輸出VariableTransportDelay:輸入信號(hào)延時(shí)一個(gè)可變時(shí)間再輸出

連續(xù)模塊(Continuous)Zero-OrderHold:零階采樣保持器UnitDelay:一個(gè)采樣周期的延時(shí)Discrete-timeIntegrator:離散時(shí)間積分器DiscreteState-Space:離散狀態(tài)空間系統(tǒng)模型DiscreteFilter:離散濾波器DiscreteTransfer-Fcn:離散傳遞函數(shù)模型DiscreteZero-Pole:以零極點(diǎn)表示的離散傳遞函數(shù)模型First-OrderHold:一階采樣保持器離散模塊(Discrete)Look-UpTable:建立輸入信號(hào)的查詢表(線性峰值匹配)Look-UpTable(2-D):建立兩個(gè)輸入信號(hào)的查詢表(線性峰值匹配)Fcn:用戶自定義的函數(shù)(表達(dá)式)MATLABFcn:利用MATLAB的現(xiàn)有函數(shù)S-Function:調(diào)用自編的S函數(shù)的程序

Look-upTable(查表模塊)

User-definedfunction(用戶定義函數(shù)模塊)Sum:加減運(yùn)算Product:模塊輸入的乘除運(yùn)算DotProduct:點(diǎn)乘運(yùn)算Gain:比例運(yùn)算MathFunction:包括指數(shù)函數(shù)、對(duì)數(shù)函數(shù)、求平方等常用數(shù)學(xué)函數(shù)TrigonometricFunction:三角函數(shù),包括正弦、余弦、正切等MinMax:最小值或最大值運(yùn)算

Mathoperations(數(shù)學(xué)模塊)Abs:取絕對(duì)值Sign:給出符號(hào)函數(shù)RoundingFunction圓整函數(shù)CombinatorialLogic:建立真值表LogicalOperator:邏輯運(yùn)算RelationalOperator:關(guān)系運(yùn)算ComplextoMagnitude-Angle:由復(fù)數(shù)輸入轉(zhuǎn)為幅值和相角輸出ComplextoReal-Imag:由復(fù)數(shù)輸入轉(zhuǎn)為實(shí)部和虛部輸出Magnitude-AngletoComplex:由幅值和相角輸入合成復(fù)數(shù)輸出Real-ImagtoComplex:由實(shí)部和虛部輸入合成復(fù)數(shù)輸出RateLimit:變化速率限制Saturation:飽和輸出,讓輸出超過某一值時(shí)能夠飽和。Quantizer:離散化Blacklash:滯環(huán)或間隙DeadZone:死區(qū)Relay:滯環(huán)繼電器Switch: 切換開關(guān)ManualSwitch:手動(dòng)選擇開關(guān)Coulomb&ViscousFriction庫侖和粘滯摩擦

Discontinuous(非線性模塊)Mux:將多個(gè)單一輸入轉(zhuǎn)化為一個(gè)復(fù)合輸出。Demux:將一個(gè)復(fù)合輸入轉(zhuǎn)化為多個(gè)單一輸出。

SignalRouting(信號(hào)通路模塊)Scope:示波器,顯示信號(hào)曲線。XYGraph:顯示二維X-Y圖形。

Out1:輸出端口Display:顯示數(shù)值ToWorkspace:將輸出寫入MATLAB的工作空間。ToFile(.mat):將輸出寫入數(shù)據(jù)文件。Terminator:終止一個(gè)未連接的輸出端口

Sinks(接收器模塊)In1:輸入端口Constant:常數(shù)信號(hào)SignalGenerator:信號(hào)發(fā)生器,產(chǎn)生任意波形Ramp:斜坡信號(hào)SineWave:正弦波信號(hào)Step:階躍波信號(hào)RepeatingSequence:重復(fù)信號(hào)PulseGenerator:脈沖發(fā)生器Ground:擱置一個(gè)未連接的輸入端口Clock:時(shí)鐘信號(hào)FromWorkspace:來自MATLAB的工作空間。FromFile(.mat):來自數(shù)據(jù)文件。

Sources(輸入源模塊)其他常用方塊組及工具箱

Blocksets&Toolboxes

Simulinkextras(特別模塊)2.SimulinkExtras(Simulink附加庫)3.CommunicationsBlockset(通信模塊集)4.ControlSystemToolbox(控制系統(tǒng)工具箱)5.DSPBlockset(數(shù)字信號(hào)處理模塊集)6.Dials&GaugesBlockset(面板和儀表模塊集)7.Fixed-PointBlockset(定點(diǎn)模塊集)8.FuzzyLogicToolbox(模糊邏輯工具箱)9.MPCBlockset(MPC模塊集)10.NCDBlockset(非線性控制設(shè)計(jì)模塊集)11.MotorolaDSPBlockset(DSP模塊集)12.NeuralNetworkBlockset(神經(jīng)網(wǎng)絡(luò)模塊集)13.PowerSystemBlockset(電力系統(tǒng)模塊集)SIMULINK的一些其它工具箱14.Real-TimeWindowsTarget(實(shí)時(shí)窗口目標(biāo)庫)15.Real-TimeWorkshop(實(shí)時(shí)工作空間庫)16.SystemIDBlocks(系統(tǒng)辨識(shí)模塊集)17.Stateflow(有限狀態(tài)流程庫)18.AerospaceBlockset(航空模塊集)23.DataAcquistionToolbox(數(shù)據(jù)采集工具箱)20.SignalProcessingBlocks(信號(hào)處理工具箱)21.ImageAcquistionToolbox(圖形采集工具箱)22.RFBlockset(射頻工具箱)23.VideoandImageProcessingBlocks圖像處理工具箱新增工具箱:機(jī)構(gòu)仿真工具箱液壓驅(qū)動(dòng)工具箱例1、考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動(dòng)。例1、考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動(dòng)。忽略摩擦力,運(yùn)動(dòng)微分方程為:例1、考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動(dòng)。在matlab/simulink中搭建仿真模型:加入兩個(gè)積分模塊,第一個(gè)模塊用來計(jì)算速度,第二個(gè)模塊用來計(jì)算位移,可用模塊圖表示為:例1、考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動(dòng)。假定F=sin(t)為正弦激勵(lì),m=0.5。求0~10s區(qū)間內(nèi)的系統(tǒng)位移響應(yīng)曲線,仿真結(jié)果如下圖:例1、考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動(dòng)。若要求同時(shí)輸出位移和速度,則模型框圖為:例1、考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動(dòng)。仿真結(jié)果如下圖:在模型窗口中,選中模塊,則其4個(gè)角會(huì)出現(xiàn)黑色標(biāo)記。此時(shí)可以對(duì)模塊進(jìn)行以下的基本操作。移動(dòng):選中模塊,按住鼠標(biāo)左鍵將其拖曳到所需的位置即可。若要脫離線而移動(dòng),可按住shift鍵,再進(jìn)行拖曳。復(fù)制:選中模塊,然后按住鼠標(biāo)右鍵進(jìn)行拖曳即可復(fù)制同樣的一個(gè)功能模塊。刪除:選中模塊,按Delete鍵即可。若要?jiǎng)h除多個(gè)模塊,可以同時(shí)按住Shift鍵,再用鼠標(biāo)選中多個(gè)模塊,按Delete鍵即可。也可以用鼠標(biāo)選取某區(qū)域,再按Delete鍵就可以把該區(qū)域中的所有模塊和線等全部刪除。轉(zhuǎn)向:為了能夠順序連接功能模塊的輸入和輸出端,功能模塊有時(shí)需要轉(zhuǎn)向。在菜單Format

FlipBlock(Ctrl+I)旋轉(zhuǎn)180度,F(xiàn)ormat

RotateBlock(Ctrl+R)順時(shí)針旋轉(zhuǎn)90度。模塊的處理

Simulink模型的建立方法改變大?。哼x中模塊,對(duì)鼠標(biāo)移到角上出現(xiàn)

,進(jìn)行拖曳即可。模塊命名:先用鼠標(biāo)在需要更改的名稱上單擊一下,然后直接更改即可。名稱在功能模塊上的位置也可以變換180度,可以用Format

FlipName來實(shí)現(xiàn),也可以直接通過鼠標(biāo)進(jìn)行拖曳。HideName可以隱藏模塊名稱。顏色設(shè)定:

Format

ForegroundColor改變模塊的前景顏色,BackgroundColor改變模塊的背景顏色;而模型窗口的顏色可以通過ScreenColor來改變。參數(shù)設(shè)定:用鼠標(biāo)雙擊模塊,就可以進(jìn)入模塊的參數(shù)設(shè)定窗口,從而對(duì)模塊進(jìn)行參數(shù)設(shè)定?;螯c(diǎn)擊鼠標(biāo)右鍵,選擇Blockparameters

參數(shù)設(shè)定窗口包含了該模塊的基本功能幫助。通過對(duì)模塊的參數(shù)設(shè)定,就可以獲得需要的功能模塊。模塊的處理

Simulink模型的建立方法

SIMULINK模型的構(gòu)建是通過用線將各種功能模塊進(jìn)行連接而構(gòu)成的。用鼠標(biāo)可以在功能模塊的輸入與輸出端之間直接連線。線的分支:按住鼠標(biāo)右鍵,在需要分支的地方拉出即可?;蛘甙醋trl鍵,并在要建立分支的地方用鼠標(biāo)拉出即可。或從輸入端拉線到分支點(diǎn)模塊的連接

Simulink模型的建立方法屬性設(shè)定:選中模塊,打開Edit

BlockProperties可以對(duì)模塊進(jìn)行屬性設(shè)定?;蚴髽?biāo)右鍵選擇BlockProperties屬性包括Description描述屬性:對(duì)模塊的說明文本

Priority優(yōu)先級(jí)屬性:模塊執(zhí)行順序Tag標(biāo)簽屬性:Openfunction屬性:通過它指定一個(gè)函數(shù)名,則當(dāng)該模塊被雙擊之后,Simulink就會(huì)調(diào)用該函數(shù)執(zhí)行,這種函數(shù)在MATLAB中稱為回調(diào)函數(shù)Attributesformatstring屬性屬性的改變

Simulink模型的建立方法1.點(diǎn)擊鼠標(biāo)左鍵3.雙擊打開模塊窗口2.點(diǎn)擊鼠標(biāo)左鍵‘新建’

Simulink模型的建立方法取信號(hào)源Sources/Step鼠標(biāo)選中后拖拽到仿真窗口雙擊可彈出屬性窗口編輯屬性彈開右邊模塊窗口取增益Math/Gain雙擊可彈出屬性窗口編輯屬性點(diǎn)擊增益所在模塊夾鼠標(biāo)選中后拖拽到仿真窗口取傳函Continuous/TransferFcn雙擊可彈出屬性窗口編輯屬性點(diǎn)擊傳函所在模塊夾鼠標(biāo)選中后拖拽到仿真窗口取相加點(diǎn)Math/Sum雙擊可彈出屬性窗口編輯屬性點(diǎn)擊求和所在模塊夾鼠標(biāo)選中后拖拽到仿真窗口取顯示Sinks/Scope雙擊可彈出示波器窗口點(diǎn)擊示波器所在模塊夾鼠標(biāo)選中后拖拽到仿真窗口點(diǎn)擊示波器參數(shù)圖標(biāo)連接各元件;選擇仿真參數(shù),如停止時(shí)間等Simulation/Simulationparameters;開始仿真Simulation/Start選擇start或這里開始仿真點(diǎn)擊右鍵,調(diào)整顯示參數(shù)仿真結(jié)果顯示例3、考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動(dòng)。若要求同時(shí)輸出位移、速度和加速度,則模型框圖為:

Simulink建模與仿真舉例例3、考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動(dòng)。仿真結(jié)果如下圖:例4:考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動(dòng)。例4:考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動(dòng)。運(yùn)動(dòng)微分方程為:動(dòng)力方程變換為:例4:考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動(dòng)。在matlab/simulink中搭建仿真模型:例4:考慮下圖所示的簡單的小車系統(tǒng)運(yùn)動(dòng)。位移曲線仿真結(jié)果如下圖:同時(shí)查看位移、速度、加速度仿真模型框圖:同時(shí)查看位移、速度、加速度10s內(nèi)仿真結(jié)果:若要同時(shí)查看位移、速度、加速度20s內(nèi)仿真結(jié)果,該如何設(shè)置參數(shù)?第1步:設(shè)置仿真參數(shù)和選擇解法器選擇Simulation菜單下的Parameters命令,就會(huì)彈出一個(gè)仿真參數(shù)對(duì)話框,它主要用三個(gè)頁面來管理仿真的參數(shù)。Solver頁,它允許用戶設(shè)置仿真的開始和結(jié)束時(shí)間,選擇解法器,說明解法器參數(shù)及選擇一些輸出選項(xiàng)。WorkspaceI/O頁,作用是管理模型從MATLAB工作空間的輸入和對(duì)它的輸出。Diagnostics診斷頁,允許用戶選擇Simulink在仿真中顯示的警告信息的等級(jí)。構(gòu)建好一個(gè)系統(tǒng)的模型之后,接下來的事情就是運(yùn)行模型,得出仿真結(jié)果。運(yùn)行一個(gè)仿真的完整過程分成三個(gè)步驟:設(shè)置仿真參數(shù),啟動(dòng)仿真和仿真結(jié)果分析。仿真方法與仿真參數(shù)的選擇

Simulink建模與仿真舉例Solver頁

Simulationtime仿真時(shí)間:注意這里的時(shí)間是計(jì)算機(jī)仿真中對(duì)時(shí)間的一種表示,比如10秒的仿真時(shí)間,如果采樣步長定為0.1,則需要執(zhí)行100步,若把步長減小,則采樣點(diǎn)數(shù)增加,那么實(shí)際的執(zhí)行時(shí)間就會(huì)增加。一般仿真開始時(shí)間設(shè)為0,而結(jié)束時(shí)間視不同的因素而選擇。

Solveroption解法選項(xiàng):Type后面的第一個(gè)選項(xiàng)中指定仿真的步長類型,分Variable-step(變步長)和Fixed-step(固定步長)兩種。變步長模式解法器有:ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb和discrete。ode45:缺省值,四/五階龍格-庫塔法,適用于大多數(shù)連續(xù)或離散系統(tǒng),但不適用于剛性(stiff)系統(tǒng)。它是單步解法器,也就是,在計(jì)算y(tn)時(shí),它僅需要最近處理時(shí)刻的結(jié)果y(tn-1)。一般來說,面對(duì)一個(gè)仿真問題最好是首先試試ode45。ode23:二/三階龍格-庫塔法,它在誤差限要求不高和求解的問題不太難的情況下,可能會(huì)比ode45更有效。也是一個(gè)單步解法器。ode113:是一種階數(shù)可變的解法器,它在誤差容許要求嚴(yán)格的情況下通常比ode45有效。ode113是一種多步解法器,也就是在計(jì)算當(dāng)前時(shí)刻輸出時(shí),它需要以前多個(gè)時(shí)刻的解。ode15s:是一種基于數(shù)字微分公式的解法器(NDFs)。也是一種多步解法器。適用于剛性系統(tǒng),當(dāng)用戶估計(jì)要解決的問題是比較困難的,或者不能使用ode45,或者即使使用效果也不好,就可以用ode15s。ode23s:它是一種單步解法器,專門應(yīng)用于剛性系統(tǒng),在弱誤差允許下的效果好于ode15s。它能解決某些ode15s所不能有效解決的stiff問題。ode23t:是梯形規(guī)則的一種自由插值實(shí)現(xiàn)。這種解法器適用于求解適度stiff的問題而用戶又需要一個(gè)無數(shù)字振蕩的解法器的情況。ode23tb:是TR-BDF2的一種實(shí)現(xiàn),TR-BDF2是具有兩個(gè)階段的隱式龍格-庫塔公式。discrtet:當(dāng)Simulink檢查到模型沒有連續(xù)狀態(tài)時(shí)使用它。

Simulink建模與仿真舉例固定步長模式解法器有:ode5,ode4,ode3,ode2,ode1和discrete。ode5:缺省值,是ode45的固定步長版本,適用于大多數(shù)連續(xù)或離散系統(tǒng),不適用于剛性系統(tǒng)。ode4:四階龍格-庫塔法,具有一定的計(jì)算精度。ode3:固定步長的二/三階龍格-庫塔法。ode2:改進(jìn)的歐拉法。ode1:歐拉法。discrete:是一個(gè)實(shí)現(xiàn)積分的固定步長解法器,它適合于離散無連續(xù)狀態(tài)的系統(tǒng)。

Simulink建模與仿真舉例Fixedstepsize固定步參數(shù):缺省情況下,步長自動(dòng)地確定,它由值auto表示Mode(固定步長模式選擇)Multi

tasking:多任務(wù)模式,當(dāng)simulink檢測(cè)到模塊間非法的采樣速率轉(zhuǎn)換,它會(huì)給出錯(cuò)誤提示。所謂的非法采樣速率轉(zhuǎn)換指兩個(gè)工作在不同采樣速率的模塊之間的直接連接。在實(shí)時(shí)多任務(wù)系統(tǒng)中,如果任務(wù)之間存在非法采樣速率轉(zhuǎn)換,那么就有可能出現(xiàn)一個(gè)模塊的輸出在另一個(gè)模塊需要時(shí)卻無法利用的情況。通過檢查這種轉(zhuǎn)換,Multitasking將有助于用戶建立一個(gè)符合現(xiàn)實(shí)的多任務(wù)系統(tǒng)的有效模型。使用速率轉(zhuǎn)換模塊可以減少模型中的非法速率轉(zhuǎn)換。Simulink提供了兩個(gè)這樣的模塊:unitdelay模塊和zero-orderhold模塊。對(duì)于從慢速率到快速率的非法轉(zhuǎn)換,可以在慢輸出端口和快輸入端口插入一個(gè)單位延時(shí)unitdelay模塊。而對(duì)于快速率到慢速率的轉(zhuǎn)換,則可以插入一個(gè)零階采樣保持器zero-orderhold。Single

tasking:單任務(wù)模式,不檢查模塊間的速率轉(zhuǎn)換,它在建立單任務(wù)系統(tǒng)模型時(shí)非常有用,在這種系統(tǒng)就不存在任務(wù)同步問題。Auto:自動(dòng)模式,simulink會(huì)根據(jù)模型中模塊的采樣速率是否一致,自動(dòng)決定切換到multitasking和singletasking。Steps

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論