第七章_MATLAB優(yōu)化工具箱_第1頁
第七章_MATLAB優(yōu)化工具箱_第2頁
第七章_MATLAB優(yōu)化工具箱_第3頁
第七章_MATLAB優(yōu)化工具箱_第4頁
第七章_MATLAB優(yōu)化工具箱_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、MATLAB工具箱工具箱 Matlab工具箱已經成為一個系列產品,Matlab主工具箱和各種工具箱(toolbox )。一、工具箱簡介一、工具箱簡介l功能型工具箱 通用型 功能型工具箱主要用來擴充Matlab的數值計算、符號運算功能、圖形建模仿真功能、文字處理功能以及與硬件實時交互功能,能夠用于多種學科。l領域型工具箱 專用型 領域型工具箱是學科專用工具箱,其專業(yè)性很強,比如控制系統(tǒng)工具箱( Control System Toolbox);信號處理工具箱(Signal Processing Toolbox);財政金融工具箱( Financial Toolbox)等等。只適用于本專業(yè)。Matla

2、b常用工具箱常用工具箱lMatlab Main Toolboxmatlab主工具箱lControl System Toolbox控制系統(tǒng)工具箱lCommunication Toolbox通訊工具箱lFinancial Toolbox財政金融工具箱lSystem Identification Toolbox系統(tǒng)辨識工具箱lFuzzy Logic Toolbox模糊邏輯工具箱lBioinformatics Toolbox生物分析工具箱lImage Processing Toolbox圖象處理工具箱lDatabase Toolbox數據庫工具箱lModel predictive Control To

3、olbox模型預測控制工具箱lNeural Network Toolbox神經網絡工具箱lOptimization Toolbox優(yōu)化工具箱lPartial Differential Toolbox偏微分方程工具箱lRobust Control Toolbox魯棒控制工具箱lSignal Processing Toolbox信號處理工具箱lSpline Toolbox樣條工具箱lStatistics Toolbox統(tǒng)計工具箱lSymbolic Math Toolbox符號數學工具箱lSimulink Toolbox動態(tài)仿真工具箱lVirtual Reality Toolbox虛擬現(xiàn)實工具箱lW

4、avelet Toolbox小波工具箱 等等. 而且每個新出的版本都在增加、更新完善。 控制系統(tǒng)工具箱控制系統(tǒng)工具箱 Control System Toolboxl連續(xù)系統(tǒng)設計和離散系統(tǒng)設計l狀態(tài)空間和傳遞函數以及模型轉換l時域響應(脈沖響應、階躍響應、斜坡響應)l頻域響應(Bode圖、Nyquist圖)l根軌跡、極點配置 遺傳算法和直接搜索工具箱遺傳算法和直接搜索工具箱Genetic Algorithm and Direct Search Toolboxl是針對 MATLAB 優(yōu)化處理算法的擴展,它在 MATLAB 和 Optimization Toolbox 的基礎上,提供遺傳算法和直接搜

5、索的基本功能。l使用遺傳算法工具箱的兩種方法:(1)直接在命令窗口使用函數。 x fval = ga(fitnessfun, nvars, options)(2)圖形界面互動操作方法??蛇x內部函數ackleyfcn或者rastriginsfcnRastrigins Function可以設置參數來調整顯示結果直接搜索算法直接搜索算法l同樣有兩種類似的運行方法優(yōu)化工具箱優(yōu)化工具箱Optimization Toolboxl線性規(guī)劃和二次規(guī)劃l求函數的最大值和最小值l多目標優(yōu)化l約束條件下的優(yōu)化l非線性方程求解Demo:toolbox/optimization 求解線性規(guī)劃求解線性規(guī)劃 l線性規(guī)劃是一

6、種優(yōu)化方法,Matlab優(yōu)化工具箱中有現(xiàn)成函數linprog對如下式描述的LP問題求解:解解:編寫編寫M文件小文件小xxgh1.m如下:如下:c=-0.4 -0.28 -0.32 -0.72 -0.64 -0.6; A=0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08; b=850;700;100;900; Aeq=; beq=; vlb=0;0;0;0;0;0; vub=;x,fval=linprog(c,A,b,Aeq,beq,vlb,vub)解解: 編寫編寫M文件文件xx

7、gh2.m如下:如下: c=6 3 4; A=0 1 0; b=50; Aeq=1 1 1; beq=120; vlb=30,0,20; vub=; x,fval=linprog(c,A,b,Aeq,beq,vlb,vub)信號處理工具箱Signal Processing Toolboxl數字和模擬濾波器設計、應用及仿真l譜分析和估計lFFT、DFT等變換l參數化模型學科前沿最新的工具箱學科前沿最新的工具箱 模糊控制邏輯工具箱 友好的交互設計界面,自適應神經-模糊學習、聚類以及Sugeno推理。 神經網絡工具箱 神經網絡系統(tǒng)具有集體運算的能力和自適應的學習能力。具有很強的容錯性和魯棒性,善于聯(lián)

8、想、綜合和推廣。工具箱的擴充功能:工具箱的擴充功能: 用戶可以修改工具箱中的函數,更為重要的是用戶可以通過編制 m文件來任意地添加工具箱中原來沒有的工具函數。 此功能充分體現(xiàn)了matlab語言的開發(fā)性。如何添加工具箱?如果是如果是Matlab安裝光盤上的工具箱,重新執(zhí)行安裝程序,選中即可。如安裝光盤上的工具箱,重新執(zhí)行安裝程序,選中即可。如果是單獨下果是單獨下 載的工具箱,則需要把新的工具箱(以下假設工具箱名字為載的工具箱,則需要把新的工具箱(以下假設工具箱名字為svm)解壓到)解壓到toolbox目錄下,然后用目錄下,然后用addpath或者或者pathtool把該工具箱把該工具箱的路徑的路

9、徑 添加到添加到matlab的搜索路徑中,最后用的搜索路徑中,最后用which newtoolbox_command.m來檢驗是否可以訪問。如果能夠顯示新設置來檢驗是否可以訪問。如果能夠顯示新設置的路徑,則表明該工具箱可以使用了。具體請看工具箱自己帶的的路徑,則表明該工具箱可以使用了。具體請看工具箱自己帶的 README文件。文件。舉例:要添加的工具箱為要添加的工具箱為svm,則解壓后,里邊有一個目錄,則解壓后,里邊有一個目錄svm,假設,假設matlab安裝在安裝在 D:MATLAB6.5,將,將svm目錄拷貝至目錄拷貝至D:MATLAB6.5toolbox,然后運行,然后運行matlab,

10、在命令窗口輸入,在命令窗口輸入addpath D:MATLAB6.5toolboxsvm回車,來添加路徑。然后在回車,來添加路徑。然后在svm目錄下,任意找一個目錄下,任意找一個m文件,以文件,以svcinfo.m為例,在命令窗口中為例,在命令窗口中輸輸 入入which svcinfo.m。如果顯示出該文件路徑,如。如果顯示出該文件路徑,如 D:MATLAB6p5toolboxsvmsvcinfo.m,則安裝成功,當然也可,則安裝成功,當然也可以在命令窗口輸入以在命令窗口輸入path來查看。來查看。二、通用工具箱二、通用工具箱Matlab主工具箱l數值計算、符號運算、繪圖以及句柄繪圖都是mat

11、lab主工具箱的內容,是matlab的基本部分。lMatlab主工具箱位于: c:matlabtoolboxmatlabl matlab主工具箱是任何版本的matlab都不可缺少的。l除toolboxmatlab之外的工具箱,在比較完整的專業(yè)版matlab語言中有20多個工具箱。這些工具箱是需要單獨選擇購買的。lmatlab主工具箱共有31個函數庫ldatafun 數據分析函數庫lsonnds 聲音處理函數庫ldde 動態(tài)數據交換函數庫lelfun 初等數學函數庫lspecmat 特殊矩陣函數庫lelmat 初等矩陣和時間函數庫lfunfun 函數功能和數學分析函數庫lgeneral 通用命令

12、函數庫lgraphics 通用圖形函數庫liofun 底層輸入輸出函數庫llang 語言結構函數庫lmatfun 矩陣線性代數函數庫lops 運算符和邏輯函數庫lplotxy 二維繪圖函數庫lplotxyz 三維繪圖函數庫lcolor 顏色和光照函數庫lpolyfun 多項式函數庫lsparfun 稀疏矩陣函數庫lstrfun 字符串函數庫ldemos matlab演示函數庫lMatlab6 新增函數庫:luitools 圖形界面函數庫ldatatypes 數據類型函數庫lgraphics 句柄繪圖函數庫lgraph3d 三維繪圖 各函數庫中的函數可用help 函數庫名查詢, 或type 函數

13、名方法查詢例:help plotxyTwo dimensional graphics.Elementary X-Y graphs. plot - Linear plot. loglog - Log-log scale plot. semilogx - Semi-log scale plot. semilogy - Semi-log scale plot. fill - Draw filled 2-D polygons.Graph annotation. title - Graph title. xlabel - X-axis label. ylabel - Y-axis label. text

14、 - Text annotation. gtext - Mouse placement of text. grid - Grid lines. See also PLOTXYZ, GRAPHICS.2. 符號運算工具箱符號運算工具箱l主要功能以符號為對象的數學。l在大學教學中,符號數學是各專業(yè)都能用到的。符號運算無須事先對獨立變量賦值,運算結果以標準的符號形式表達。特點: 運算對象可以是沒賦值的符號變量 可以獲得任意精度的解符號運算的功能符號運算的功能l符號表達式、符號矩陣的創(chuàng)建l符號可變精度求解l符號線性代數l因式分解、展開和簡化l符號代數方程求解l符號微積分l符號微分方程例如:z =a*t

15、2+b*t+c;r =solve(z,t) 對缺省變量求解r =1/2/a*(-b+(b2-4*a*c)(1/2)1/2/a*(-b-(b2-4*a*c)(1/2)對任意變量求解r =solve(z,b)r =-(a*t2+c)/tr =solve(z,c)r =-a*t2-b*tr =solve(z,a)r =-(b*t+c)/t23. Simulink動態(tài)仿真工具箱動態(tài)仿真工具箱simulink工具箱簡介lsimulink 是實現(xiàn)動態(tài)系統(tǒng)建模、仿真和分析的一個集成環(huán)境,使得matlab的功能得到進一步擴展,它可以非常容易的實現(xiàn)可視化建模,把理論研究和工程實踐有機的結合在一起。l大部分專用工

16、具箱只要以matlab主包為基礎就能運行,有少數工具箱(通訊工具箱、信號處理工具箱等)則要求有simulink工具箱的支持。l由于matlab和simulink是集成在一起的,因此用戶可以在兩種環(huán)境下對自己的模型進行仿真、分析和修改。l不用命令行編程,由方框圖產生m文件 (s函數)。l當創(chuàng)建好的框圖保存后,相應的m文件就自動生成,這個.m文件包含了該框圖的所有圖形及數學關系信息。l框圖表示比較直觀,容易構造,運行速度較快。三、工具箱和工具箱函數的查詢辦法三、工具箱和工具箱函數的查詢辦法matlab的目錄結構l目錄樹c:matlabbinc:matlabexternc:matlabsimulin

17、kc:matlabtoolboxcommc:matlabtoolboxcontrolc:matlabtoolboxsymbolic.lmatlabbin 該目錄包含matlab系統(tǒng)運行文件,matlab幫助文件及一些必需的二進制文件。lmatlabextern 包含MATLAB與 C, FORTRAN 語言的交互所需的函數定義和連接庫。lmatlabsimulink 包含建立simulink MEX-文件所必需的函數定義及接口軟件。lmatlabtoolbox 各種工具箱,Math Works公司提供的商品化matlab工具箱有30多種。toolbox目錄下的子目錄數量是隨安裝情況而變的。2.

18、 工具箱lmatlab toolbox工具箱在windows下由目錄檢索得到。l也可以在matlab下得到,啟動matlab后l cd_ . matlab缺省目錄是bin,回到l matlab目錄下l cd_toolbox ldir 工具箱清單l. compiler fixpoint lmi nag qft l. control fuzzy local ncd robust lada symbolic dspblks hosa matlab nnet lsignal uitools codegen fdident ident mpc loptim simulink wavelet comm f

19、inance splines lpde esmutools stats 3. 工具箱函數清單的獲得l所有工具箱中都有函數清單文件contents.m,可用各種方法得到工具箱函數清單 執(zhí)行在線幫助命令 help 工具箱名稱 列出該工具箱中contents.m的內容,顯示該工具箱中所有函數清單 例如: help symbolic help optim 函數的查詢:help 函數名 使用type命令得到工具箱函數的清單 type signalcontents type optimcontents 如果在當前工具箱目錄下可用 help contents type contents 得到該工具箱的函數清

20、單 由于contents .m為文本文件,可以通過任何文本編輯器打開閱讀 如:edit、 word、寫字板、記事本4. matlab函數的查閱與定位函數的查閱與定位lwhich 函數名 給函數定位例如: which laplaced:matlab42toolboxsymboliclaplace.mwhich fft2d:matlab42toolboxmatlabdatafunfft2.mwhich polyd:matlab42toolboxmatlabpolyfunpoly.mwhich constrd:matlab42toolboxoptimconstr.mwhich plotplot is

21、 a built-in function.lwhich 命令只能定位matlab的外部命令,而對內部命令是無效的。lmatlab內部函數只能通過contents.m工具箱清單文件來查詢MATLAB優(yōu)化工具箱優(yōu)化工具箱 1 工具箱概述工具箱概述1.1 功能 (1)求解無約束條件非線性極小值; (2)求解約束條件下非線性極小值,包括目標逼近問題、極大-極小值問題和半無限極小值問題; (3)求解二次規(guī)劃和線性規(guī)劃問題; (4)非線性最小二乘逼近和曲線擬合; (5)非線性系統(tǒng)的方程求解; (6)約束條件下的線性最小二乘優(yōu)化; (7)求解復雜結構的大規(guī)模優(yōu)化問題。1.2 工具箱的新特色工具箱的新特色 M

22、ATLAB R2008b使用的是4.1版本的優(yōu)化工具箱,較3.x的變化在于:(1) fmincon、fminimax和fgoalattain中引入了并行機制,加快梯度計算速度;(2) 函數gatool和pserchtool整合到優(yōu)化工具箱GUI中;(3) 函數fmincon的求解器中新增內點算法;(4) 提供了KNITRO優(yōu)化庫的接口;(5) 函數lsqcurvefit、lsqnonlin和fsolve的優(yōu)化選項參數PrecondBandWinth默認值由0變?yōu)閕nf;(6) 優(yōu)化選項參數TolConSQP的默認值改為1e-6;(7) 輸出結構中引入了參數constrviolation。2 工

23、具箱函數工具箱函數輸入參數中可以用options,用于所有函數,其中包括有以下參數。(1)Display:結果顯示方式,off不顯示,iter顯示每次迭代的信息,final為最終結果,notify只有當求解不收斂的時候才顯示結果。(2)MaxFunEvals:允許函數計算的最大次數,取值為正整數。(3)MaxIter:允許迭代的最大次數,正整數。(4)TolFun:函數值(計算結果)精度,正整數。(5)TolX:自變量的精度,正整數。而且可以用函數optimset創(chuàng)建和修改。模型輸入時需要注意問題:(1)目標函數最小化;(2) 約束非正;(3) 避免使用全局變量。3 GUI優(yōu)化工具優(yōu)化工具l3

24、.1 啟動l命令行輸入optimtool;l Start-Toolboxes-Optimization-Optimization tool(optimtool)。l3.2 界面l圖一:GUI優(yōu)化工具的界面l分為三塊:l最左邊是優(yōu)化問題的描述及計算結果顯示,中間為優(yōu)化選項的設置,右邊是幫助(可隱藏,右上角的)。3.3 使用步驟選擇求解器solver和優(yōu)化算法algorithm;選定目標函數(objective function);設定目標函數的相關參數;設置優(yōu)化選項;單擊“start”按鈕,運行求解;查看求解器的狀態(tài)和求解結果;將目標函數、選項和結果導入導出。具體的如圖二所示:圖二:步驟示意圖3

25、.4 應用實例3.4.1 無約束優(yōu)化(fminunc求解器)求f(x)=x2+4*x-6極小值,初始點取x=0。解:首先建立目標函數文件FunUnc.m文件:function y=FunUnc(x)y=x2+4*x-6;然后啟動優(yōu)化工具(如圖):Algorithm有兩個選擇:Large scale和Medium scale,設置完參數點擊start即可得到如圖中的結果。3.4.2 無約束優(yōu)化(fminsearch求解器)求f(x)=|x2-3*x+2|的極小值,初始點取x=-7,比較fminunc和fminsearch的差別。解:啟動優(yōu)化工具;用fminunc時設置參數如圖:點擊start得到

26、結果。l用fminunc時結果是1.5,而用fminsearch時結果是2。計算原等式有極小值為2,由此有對于非光滑優(yōu)化問題fminunc可能求不到正確的結果,而fminsearch卻能很好地解決這類問題的求解。用fminsearch時如下圖:3.4.3 約束優(yōu)化(fmincon求解器) 可用算法有Trust region reflective(信賴域反射算法)、 Active set(有效集算法)、Interior point(內點算法)。求f(x)=-x1*x2*x3的極小值,約束條件是-x1-2*x2-2*x3=0且x1+2*x2+2*x3=72,初始點(10,10,10)。解:首先見M

27、文件,約定FunUnc(x)=-x(1)*x(2)*x(3):function y=FunUnc(x)y=-x(1)*x(2)*x(3);l啟動優(yōu)化工具,設置參數如圖:3.4.4 非線性最小二乘優(yōu)化(lsqnonlin求解器)求minS=(x2+x-1)2+(2*x2-3)2 ,初始點為x=5 。解:啟動優(yōu)化工具,設置參數,點start得結果如下圖所示;3.4.5 線性規(guī)劃(linprog求解器) f處輸入函數多項式的系數?;痉椒ㄈ缜懊鎺最悺?.4.6 智能優(yōu)化算法(ga求解器) 要輸入變量的個數?;痉椒ㄈ缜懊鎺最?。MATLAB模糊控制工具箱模糊控制工具箱 Matlab模糊控制工具箱為模糊控制器的設計提供了一種非常便捷的途徑,通過它我們不需要進行復雜的

溫馨提示

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

評論

0/150

提交評論