matlab課件-第四章 Matlab工具箱介紹_第1頁
matlab課件-第四章 Matlab工具箱介紹_第2頁
matlab課件-第四章 Matlab工具箱介紹_第3頁
matlab課件-第四章 Matlab工具箱介紹_第4頁
matlab課件-第四章 Matlab工具箱介紹_第5頁
已閱讀5頁,還剩129頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

常用數(shù)學軟件選講1第四章Matlab工具箱介紹

Matlab工具箱綜述優(yōu)化工具箱曲線擬合方法偏微分方程數(shù)值解工具箱

數(shù)理統(tǒng)計工具箱2Matlab工具箱綜述

matlab工具箱已經(jīng)成為一個系列產(chǎn)品,matlab主工具箱和各種工具箱(toolbox)。3一、工具箱簡介功能型工具箱——通用型功能型工具箱主要用來擴充matlab的數(shù)值計算、符號運算功能、圖形建模仿真功能、文字處理功能以及與硬件實時交互功能,能夠用于多種學科。4領域型工具箱——

專用型領域型工具箱是學科專用工具箱,其專業(yè)性很強,比如控制系統(tǒng)工具箱(ControlSystemToolbox);信號處理工具箱(SignalProcessingToolbox);財政金融工具箱(FinancialToolbox)等等。只適用于某專業(yè)。5Matlab常用工具箱MatlabMainToolbox——matlab主工具箱ControlSystemToolbox——控制系統(tǒng)工具箱CommunicationToolbox——通訊工具箱FinancialToolbox——財政金融工具箱SystemIdentificationToolbox——系統(tǒng)辨識工具箱FuzzyLogicToolbox——模糊邏輯工具箱Higher-OrderSpectralAnalysisToolbox——高階譜分析工具箱6ImageProcessingToolbox——圖象處理工具箱LMIControlToolbox——線性矩陣不等式工具箱ModelpredictiveControlToolbox——模型預測控制工具箱μ-AnalysisandSynthesisToolbox——μ分析工具箱NeuralNetworkToolbox——神經(jīng)網(wǎng)絡工具箱OptimizationToolbox——優(yōu)化工具箱PartialDifferentialToolbox——偏微分方程工具箱RobustControlToolbox——魯棒控制工具箱7SignalProcessingToolbox——信號處理工具箱SplineToolbox——樣條工具箱StatisticsToolbox——統(tǒng)計工具箱SymbolicMathToolbox——符號數(shù)學工具箱SimulinkToolbox——動態(tài)仿真工具箱SystemIdentificationToolbox——系統(tǒng)辨識工具箱WaveleToolbox——小波工具箱等等8例如:控制系統(tǒng)工具箱連續(xù)系統(tǒng)設計和離散系統(tǒng)設計狀態(tài)空間和傳遞函數(shù)以及模型轉換時域響應(脈沖響應、階躍響應、斜坡響應)頻域響應(Bode圖、Nyquist圖)根軌跡、極點配置9優(yōu)化工具箱線型規(guī)劃和二次規(guī)劃求函數(shù)的最大值和最小值多目標優(yōu)化約束條件下的優(yōu)化非線型方程求解10信號處理工具箱數(shù)字和模擬濾波器設計、應用及仿真譜分析和估計FFT、DCT等變換參數(shù)化模型11學科前沿最新的工具箱

模糊控制邏輯工具箱友好的交互設計界面,自適應神經(jīng)-模糊學習、聚類以及Sugeno推理

神經(jīng)網(wǎng)絡工具箱神經(jīng)網(wǎng)絡系統(tǒng)具有集體運算的能力和自適應的學習能力。具有很強的容錯性和魯棒性,善于聯(lián)想、綜合和推廣。12

matlab6功能擴充的工具箱有:控制系統(tǒng)工具箱、圖象處理工具箱、神經(jīng)元網(wǎng)絡工具箱、信號處理工具箱、

simulink仿真工具箱Matlab6新增工具箱有:虛擬現(xiàn)實工具箱電力系統(tǒng)工具箱儀器儀表控制工具箱報告編輯工具箱

13工具箱的擴充功能:用戶可以修改工具箱中的函數(shù),更為重要的是用戶可以通過編制m文件來任意地添加工具箱中原來沒有的工具函數(shù)。此功能充分體現(xiàn)了matlab語言的開發(fā)性。14二、通用工具箱Matlab主工具箱前面課程所介紹的數(shù)值計算、符號運算、繪圖以及句柄繪圖都是matlab主工具箱的內容,是matlab的基本部分,也是我們課程的重點。Matlab主工具箱位于:

c:\matlab\toolbox\matlab

matlab主工具箱是任何版本的matlab都不可缺少的。15二、通用工具箱例如C:\MATLAB6.5\toolbox\matlab\graph3d\mesh.m16除toolbox\matlab之外的工具箱,在比較完整的專業(yè)版matlab語言中有20多個工具箱。這些工具箱是需要單獨選擇購買的。matlab主工具箱共有21個函數(shù)庫datafun——數(shù)據(jù)分析函數(shù)庫sonnds——聲音處理函數(shù)庫dde——動態(tài)數(shù)據(jù)交換函數(shù)庫elfun——初等數(shù)學函數(shù)庫specmat——特殊矩陣函數(shù)庫17elmat——初等矩陣和時間函數(shù)庫funfun——函數(shù)功能和數(shù)學分析函數(shù)庫general——通用命令函數(shù)庫graphics——通用圖形函數(shù)庫iofun——底層輸入輸出函數(shù)庫lang——語言結構函數(shù)庫matfun——矩陣線性代數(shù)函數(shù)庫ops——運算符和邏輯函數(shù)庫plotxy——二維繪圖函數(shù)庫plotxyz——三維繪圖函數(shù)庫18color——顏色和光照函數(shù)庫polyfun——多項式函數(shù)庫sparfun——稀疏矩陣函數(shù)庫strfun——字符串函數(shù)庫demos——matlab演示函數(shù)庫matlab6新增函數(shù)庫:uitools——圖形界面函數(shù)庫datatypes——數(shù)據(jù)類型函數(shù)庫graphics——句柄繪圖函數(shù)庫graph3d——三維繪圖19

各函數(shù)庫中的函數(shù)可用help函數(shù)庫名查詢,或type函數(shù)名方法查詢202.符號運算工具箱主要功能以符號為對象的數(shù)學。在大學教學中,符號數(shù)學是各專業(yè)都能用到的。符號運算無須事先對獨立變量賦值,運算結果以標準的符號形式表達。特點:運算對象可以是沒賦值的符號變量可以獲得任意精度的解21符號運算的功能符號表達式、符號矩陣的創(chuàng)建符號可變精度求解符號線性代數(shù)因式分解、展開和簡化符號代數(shù)方程求解符號微積分符號微分方程22例如:z='a*t^2+b*t+c';r=solve(z,'t')——對缺省變量求解r=[1/2/a*(-b+(b^2-4*a*c)^(1/2))][1/2/a*(-b-(b^2-4*a*c)^(1/2))]23對任意變量求解r=solve(z,'b')r=-(a*t^2+c)/tr=solve(z,'c')r=-a*t^2-b*tr=solve(z,'a')r=-(b*t+c)/t^2243.Simulink動態(tài)仿真工具箱simulink工具箱簡介simulink是實現(xiàn)動態(tài)系統(tǒng)建模、仿真和分析的一個集成環(huán)境,使得matlab的功能得到進一步擴展,它可以非常容易的實現(xiàn)可視化建模,把理論研究和工程實踐有機的結合在一起。大部分專用工具箱只要以matlab主包為基礎就能運行,有少數(shù)工具箱(通訊工具箱、信號處理工具箱等)則要求有simulink工具箱的支持。25由于matlab和simulink是集成在一起的,因此用戶可以在兩種環(huán)境下對自己的模型進行仿真、分析和修改。不用命令行編程,由方框圖產(chǎn)生m文件(s函數(shù))當創(chuàng)建好的框圖保存后,相應的m文件就自動生成,這個.m文件包含了該框圖的所有圖形及數(shù)學關系信息。框圖表示比較直觀,容易構造,運行速度較快。26

Simulink優(yōu)點適應面廣:包括線性、非線性系統(tǒng);離散、連續(xù)系統(tǒng)結構和流程清晰:以方塊圖形式呈現(xiàn),仿真精細、貼近實際27

simulink的模型:

simulink模型在視覺上表現(xiàn)為方框圖,在文件上則是擴展名為m的ASCII代碼(matlab6是擴展名為mdl的ASCII代碼);在數(shù)學上體現(xiàn)為一組微分方程或差分方程;在行為上模擬了物理器件構成的實際系統(tǒng)的動態(tài)特性。simulink的一般結構:輸入系統(tǒng)輸出28仿真原理當在框圖視窗中進行仿真的同時,matlab實際上是運行保存于simulink內存中s函數(shù)的映象文件,而不是解釋運行該m文件。s函數(shù)并不是標準m文件,它m文件的一種特殊形式。結構圖創(chuàng)建方法一個動態(tài)系統(tǒng)的創(chuàng)建過程,就是一個方框圖的繪制過程29具體步驟:在matlab命令窗口鍵入simulink信號源庫離散模塊庫非線性模塊庫其它模塊庫仿真連接模塊庫線性模塊庫輸出模塊庫30

選則File菜單New選項,出現(xiàn)一個新窗口,即可繪制結構圖。313233三、工具箱和工具箱函數(shù)的查詢辦法matlab的目錄結構目錄樹c:\matlab\binc:\matlab\externc:\matlab\simulinkc:\matlab\toolbox\comm\c:\matlab\toolbox\control\c:\matlab\toolbox\symbolic\...34matlab\bin——該目錄包含matlab系統(tǒng)運行文件,matlab幫助文件及一些必需的二進制文件。matlab\extern——包含MATLAB與C,FORTRAN語言的交互所需的函數(shù)定義和連接庫。matlab\simulink——包含建立simulinkMEX-文件所必需的函數(shù)定義及接口軟件。matlab\toolbox——各種工具箱,MathWorks公司提供的商品化matlab工具箱有30多種。toolbox目錄下的子目錄數(shù)量是隨安裝情況而變的。352.工具箱matlabtoolbox工具箱在windows下由目錄檢索得到。也可以在matlab下得到,啟動matlab后

cd..——matlab缺省目錄是bin,回到

matlab目錄下

cdtoolbox

36dir——工具箱清單.compilerfixpointlminagqft..controlfuzzylocalncdrobustadasymbolicdspblkshosamatlabnnetsignaluitoolscodegenfdidentidentmpcoptimsimulinkwaveletcommfinancesplinespdeesmutoolsstats373.工具箱函數(shù)清單的獲得所有工具箱中都有函數(shù)清單文件contents.m,可用各種方法得到工具箱函數(shù)清單執(zhí)行在線幫助命令

help工具箱名稱列出該工具箱中contents.m的內容,顯示該工具箱中所有函數(shù)清單例如:helpsymbolichelpoptim

函數(shù)的查詢:help函數(shù)名38

使用type命令得到工具箱函數(shù)的清單

typesignal\contentstypeoptim\contents

如果在當前工具箱目錄下可用

helpcontentstypecontents得到該工具箱的函數(shù)清單由于contents.m為文本文件,可以通過任何文本編輯器打開閱讀如:edit、word、寫字板、記事本394.matlab函數(shù)的查閱與定位which函數(shù)名——給函數(shù)定位例如:whichlaplaced:\matlab42\toolbox\symbolic\laplace.mwhichfft2d:\matlab42\toolbox\matlab\datafun\fft2.mwhichpolyd:\matlab42\toolbox\matlab\polyfun\poly.m40whichconstrd:\matlab42\toolbox\optim\constr.mwhichplotplotisabuilt-infunction.which命令只能定位matlab的外部命令,而對內部命令是無效的。matlab內部函數(shù)只能通過contents.m工具箱清單文件來查詢41Matlab優(yōu)化工具箱一:線性規(guī)劃問題42在MATLAB6.0版及以后版本中,線性規(guī)劃問題(LinearProgramming)已用函數(shù)linprog取代了MATLAB5.x版中的lp函數(shù)。當然,由于版本的向下兼容性,一般說來,低版本中的函數(shù)在6.0版中仍可使用。4344說明若exitflag>0表示函數(shù)收斂于解x,exitflag=0表示超過函數(shù)估值或迭代的最大數(shù)字,exitflag<0表示函數(shù)不收斂于解x;若lambda=lower表示下界lb,lambda=upper表示上界ub,lambda=ineqlin表示不等式約束,lambda=eqlin表示等式約束,lambda中的非0元素表示對應的約束是有效約束;output=iterations表示迭代次數(shù),output=algorithm表示使用的運算規(guī)則,output=cgiterations表示PCG迭代次數(shù)。4546解:>>f=[-5;-4;-6];>>A=[1-11;324;320];>>b=[20;42;30];>>lb=zeros(3,1);>>[x,fval,exitflag,output,lambda]=linprog(f,A,b,[],[],lb)結果為:x=%最優(yōu)解

0.000015.00003.0000fval=%最優(yōu)值

-78.0000exitflag=%收斂

1output=iterations:6%迭代次數(shù)

cgiterations:0algorithm:'lipsol'%所使用規(guī)則

47lambda=ineqlin:[3x1double]eqlin:[0x1double]upper:[3x1double]lower:[3x1double]>>lambda.ineqlinans=0.00001.50000.5000>>lambda.lowerans=1.00000.00000.0000表明:不等約束條件2和3以及第1個下界是有效的48foptions函數(shù)對于優(yōu)化控制,MATLAB提供了18個參數(shù),這些參數(shù)的具體意義為:options(1)-參數(shù)顯示控制(默認值為0)。等于1時顯示一些結果。

options(2)-優(yōu)化點x的精度控制(默認值為1e-4)。

options(3)-優(yōu)化函數(shù)F的精度控制(默認值為1e-4)。

options(4)-違反約束的結束標準(默認值為1e-6)。

options(5)-算法選擇,不常用。

options(6)-優(yōu)化程序方法選擇,為0則為BFCG算法,為1則采用DFP算法。

options(7)-線性插值算法選擇,為0則為混合插值算法,為1則采用立方插算法。

options(8)-函數(shù)值顯示(目標—達到問題中的Lambda)options(9)-若需要檢測用戶提供的梯度,則設為1。

options(10)-函數(shù)和約束估值的數(shù)目。

options(11)-函數(shù)梯度估值的個數(shù)。

options(12)-約束估值的數(shù)目。

options(13)-等約束條件的個數(shù)。

options(14)-函數(shù)估值的最大次數(shù)(默認值是100×變量個數(shù))

options(15)-用于目標—達到問題中的特殊目標。

options(16)-優(yōu)化過程中變量的最小有限差分梯度值。

options(17)-優(yōu)化過程中變量的最大有限差分梯度值。

options(18)-步長設置(默認為1或更小)。Foptions已經(jīng)被optimset和optimget代替,詳情請查函數(shù)optimset和optimget。49二:非線性規(guī)劃問題50515253三、無約束多元函數(shù)最小值54555657求上式的最小值。>>fun='3*x(1)^2+2*x(1)*x(2)+x(2)^2';>>x0=[11];>>[x,fval,exitflag,output,grad,hessian]=fminunc(fun,x0)結果為:x=1.0e-008*-0.75910.2665fval=1.3953e-016exitflag=1output=iterations:3funcCount:16stepsize:1.2353firstorderopt:1.6772e-007algorithm:'medium-scale:Quasi-Newtonlinesearch'grad=1.0e-006*-0.16770.0114hessian=6.00002.00002.00002.0000或用下面方法:>>fun=inline('3*x(1)^2+2*x(1)*x(2)+x(2)^2')fun=Inlinefunction:fun(x)=3*x(1)^2+2*x(1)*x(2)+x(2)^2>>x0=[11];>>x=fminunc(fun,x0)x=1.0e-008*-0.75910.266558有約束的多元函數(shù)最小值59函數(shù)

fmincon格式x=fmincon(fun,x0,A,b)x=fmincon(fun,x0,A,b,Aeq,beq)x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub)x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)[x,fval]=fmincon(…)[x,fval,exitflag]=fmincon(…)[x,fval,exitflag,output]=fmincon(…)[x,fval,exitflag,output,lambda]=fmincon(…)[x,fval,exitflag,output,lambda,grad]=fmincon(…)[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(…)606162極小化極大(Minmax)問題63646566非線性方程(組)求解67偏微分方程求解本部分將主要講述如何用MATLAB實現(xiàn)對偏微分方程的求解.MATLAB的偏微分方程工具箱(PDEToolbox)的出現(xiàn),為偏微分方程的求解以及定性研究提供了捷徑.68主要步驟為:(1)設置PDE的定解問題.即設置二維定解區(qū)域、邊界條件以及方程的形式和系數(shù);(2)用有限元法(FEM)求解PDE.即網(wǎng)格的生成、方程的離散以及求出數(shù)值解;(3)解的可視化.用PDEToolbox可以求解的基本方程有:橢圓方程、拋物方程、雙曲方程、特征值方程、橢圓方程組以及非線性橢圓方程.69(2)用M文件編程求解(參見源程序-略)701用偏微分方程工具箱求解微分方程

直接使用圖形用戶界面(GraphicalUserInterface,簡記作GUI)求解.例子:用pdetools求解二維穩(wěn)態(tài)-橢圓型PDE邊值問題

71計算機求解第一步:啟動Matlab,鍵入命令pdetool并回車,就進入GUI。菜單除了File和Edit外,從左到右依次為Options、Draw、Boundary、PDE、Mesh、Solve和Plot,其順序正好與用PDE工具箱求解偏微分方程的步驟一樣(1)用Options菜單設置應用模式(2)用Draw菜單建立幾何模型(3)用Doundary菜單設定邊界條件(4)用PDE菜單定義偏微分方程的類型和方程的系數(shù)(5)用Mesh(網(wǎng)格)菜單進行三角形網(wǎng)格劃分及網(wǎng)格細化(6)用Solve菜單進行偏微分方程的求解(7)用Plot以圖形方式顯示結果72Options菜單PDE工具箱提供多種應用模式,用戶應根據(jù)問題選擇應用模式用鼠標選擇Application子菜單,選擇相應內容GenericScalar一般標量模式GenericSystem一般系統(tǒng)模式StructuralMechanics,PlaneStress結構力學平面應力應用模式StructuralMechanics,PlaneStrain結構力學平面張力應用模式Electrostics 靜電學應用模式Magnetostatics 磁靜電學應用模式ACPowerElectromagnetics 交流電電磁學應用模式HeatTransfer 傳熱應用模式Diffusion 擴散模式其中,GenericScalar、GenericSystem、HeatTransfer和Diffusion這四種應用模式,對化學工程有用。(本例使用GenericScalar

模式,并選擇Option菜單的AxesLimits子菜單以設置坐標范圍:x=[-6,6],y=[-6,6])73在Options菜單下選擇Grid命令,打開柵格。柵格使用戶容易確定所繪圖形的大小用Draw菜單中的畫圖功能或工具條中的前五個畫圖工具按鈕,即可畫出PDE問題的幾個幾何模型74當有多個區(qū)域時,可以設定這些區(qū)域是如何疊加的,如:E1-E2+R1-E3.然后在SetFormula欄中進行編輯并用算術運算符將圖形對象連接起來。或刪去默認的表達式,直接鍵入E1-E2+R1-E3.75第三步:選取邊界首先選擇Boundary菜單中BoundaryMode命令,進入邊界模式.然后單擊Boundary菜單中RemoveAllSubdomainBorders選項,從而去掉子域邊界,如圖單擊Boundary菜單中SpecifyBoundaryConditions選項,打開BoundaryConditions對話框,輸入邊界條件.本例取默認條件,即將全部邊界設為齊次Dirichlet條件,邊界顯示為紅色,如果想將幾何與邊界信息存儲,可選擇Boundary菜單中的ExportDecomposedGeometry,BoundaryCond‘s命令,將它們分別存儲在g、b變量中,并通過Matlab形成M文件76777879808182第六步:解偏微分方程并顯示圖形解選擇Solve菜單中SolvePDE命令,解偏微分方程并顯示圖形解,如圖22.4所示。8384858687888990919293949596979899Matlab曲線擬合根據(jù)一組二維數(shù)據(jù),即平面上的若干點,要求確定一個一元函數(shù)y=f(x),即曲線,使這些點與曲線總體來說盡量接近,這就是數(shù)據(jù)擬合成曲線的思想,簡稱為曲線擬合(fittingacurve)曲線擬合的目的是根據(jù)實驗獲得的數(shù)據(jù)去建立因變量與自變量之間有效的經(jīng)驗函數(shù)關系,為進一步的深入研究提供線索.曲線擬合與函數(shù)插值都是要跟據(jù)一組數(shù)據(jù)構造一個函數(shù)作為近似,由于近似的要求不同,二者在數(shù)學方法上有所不同.100引例:濃度變化規(guī)律在化學反應中,為研究某化合物的濃度隨時間的變化規(guī)律,測得一組數(shù)據(jù)如表:表中的數(shù)據(jù)反映了濃度隨時間變化的函數(shù)關系,它是一種離散關系若需要推斷20,40分鐘時的濃度值,能否用一個顯函數(shù)y=f(t)來擬合表中的離散數(shù)據(jù),然后再計算濃度值f(20),f(40)?為此首先將這些離散數(shù)據(jù)分布在直角坐標系下,由此可發(fā)現(xiàn)濃度與時間之間呈現(xiàn)什么規(guī)律.這種數(shù)據(jù)分布在直角坐標系下的圖形被稱為散點圖.101如圖,濃度y隨時間t呈拋物線狀(二次函數(shù))變化.102最小二乘法103曲線擬合的MATLAB實現(xiàn)104105106MATLAB軟件中曲面擬合又一個怎樣進行呢?在MATLAB的NAGFoundationToolbox中也有一些曲面擬合函數(shù),如e02daf是最小二乘平方曲面擬合函數(shù),e02def可求出曲面擬合的函數(shù)值。有關曲面擬合的基本原理參見有關數(shù)值分析的書籍,這里不再多說。注:關于在MATLAB的NAGFoundationToolbox中的函數(shù)形式、說明以及應用例子可以查閱幫助信息。例如,鍵入helpe02daf便會出現(xiàn)函數(shù)e02daf的較詳細說明。在函數(shù)末尾加e便是應用的例子,如鍵入typee02daf,會顯示函數(shù)e02daf的應用例子程序,鍵入e02daf,則運行該程序,并顯示其計算結果。107MATLAB-cftoolData輸出、查看和平滑數(shù)據(jù)Fitting擬合數(shù)據(jù)、比較擬合曲線和數(shù)據(jù)集

溫馨提示

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

評論

0/150

提交評論