




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 M文件的功能和特點(diǎn) MATLAB是解釋性語言 語法簡單 調(diào)試容易 人機(jī)交互性強(qiáng) 開放性、可擴(kuò)展性強(qiáng)第第5講講MATLAB 程序設(shè)計(jì)及其調(diào)試程序設(shè)計(jì)及其調(diào)試(d)(d)M文件輸入窗口!文件輸入窗口!(d)222112221222110.753.751.512612120.753.751.5120.54571( ,)0.7575110.54571xxxxxxxxexxp x xexxexx 腳本文件first.m%first.m This is my first example.a=2;b=2;clf;x=-a:0.2:a;y=-b:0.2:b;for i=1:length(y) for j=1
2、:length(x) if x(j)+y(i)1 z(i,j)=0.5457*exp(-0.75*y(i)2-3.75*x(j)2-1.5*x(j); elseif x(j)+y(i) x,fval,exitflag,output=fminbnd(x3+cos(x)+x*log(x)/exp(x),0,1)x = 0.5223fval = 0.3974exitflag = 1output = iterations: 9 funcCount: 9 algorithm: golden section search, parabolic interpolation1) 3x()x( f3例5 在0,
3、5上求下面函數(shù)的最小值解:先自定義函數(shù):在MATLAB編輯器中建立M文件為:function f = myfun(x)f = (x-3).2 - 1;保存為myfun.m,然后在命令窗口鍵入命令: x=fminbnd(myfun,0,5)則結(jié)果顯示為:x = 3無約束多元函數(shù)最小值無約束多元函數(shù)最小值多元函數(shù)最小值的標(biāo)準(zhǔn)形式為其中:x為向量.命令 利用函數(shù)fminsearch求無約束多元函數(shù)最小值.函數(shù) fminsearch格式 x = fminsearch(fun,x0) %x0為初始點(diǎn),fun為目標(biāo)函數(shù)的表達(dá)式字符串或MATLAB自定義函數(shù)的函數(shù)柄.x = fminsearch(fun,x
4、0,options) % options查optimset.x,fval = fminsearch() %最優(yōu)點(diǎn)的函數(shù)值.x,fval,exitflag = fminsearch() % exitflag與單變量情形一致.x,fval,exitflag,output = fminsearch() %output與單變量情形一致.)x( fminxx,x,xxn21222132131xxx10 xx4x2y例6 求 的最小值點(diǎn).解:X=fminsearch(2*x(1)3+4*x(1)*x(2)3-10*x(1)*x(2)+x(2)2, 0,0)結(jié)果為 X = 1.0016 0.8335或在MA
5、TLAB編輯器中建立函數(shù)文件.function f=myfun(x)f=2*x(1)3+4*x(1)*x(2)3-10*x(1)*x(2)+x(2)2;保存為myfun.m,在命令窗口鍵入 X=fminsearch (myfun, 0,0) 或 X=fminsearch(myfun, 0,0)結(jié)果為: X = 1.0016 0.8335有約束的多元函數(shù)最小值有約束的多元函數(shù)最小值非線性有約束的多元函數(shù)的標(biāo)準(zhǔn)形式為:sub.to 其中:x、b、beq、lb、ub是向量,A、Aeq為矩陣,C(x)、Ceq(x)是返回向量的函數(shù),f(x)為目標(biāo)函數(shù),f(x)、C(x)、Ceq(x)可以是非線性函數(shù).
6、在MATLAB5.x中,它的求解由函數(shù)constr實(shí)現(xiàn).)x( fminx0)x(C0)x(CeqbxAbeqxAequbxlb函數(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
7、= 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()參數(shù)說明:fun為目標(biāo)函數(shù),它可用前面的方法定義;nonlcon的作用是通過接受的向量x來計(jì)算非線性不等約束和等式約束分別在x處的估計(jì)C和Ceq,通過指定函數(shù)柄來使用,如:x = fmincon(myfun,x0,A,b,Aeq
8、,beq,lb,ub,mycon),先建立非線性約束函數(shù),并保存為mycon.m:function C,Ceq = mycon(x)C = % 計(jì)算x處的非線性不等約束的函數(shù)值.Ceq = % 計(jì)算x處的非線性等式約束的函數(shù)值.lambda是Lagrange乘子,它體現(xiàn)哪一個(gè)約束有效.output輸出優(yōu)化信息;grad表示目標(biāo)函數(shù)在x處的梯度;hessian表示目標(biāo)函數(shù)在x處的Hessian值.例7求下面問題在初始點(diǎn)(0,1)處的最優(yōu)解21212221x5x2xxxx0 x) 1x(22106x3x221min sub.to 解:約束條件的標(biāo)準(zhǔn)形式為:sub.to 先在MATLAB編輯器中建立
9、非線性約束函數(shù)文件: function c, ceq=mycon (x) c=(x(1)-1)2-x(2); ceq= ; %無等式約束.0 x) 1x(2216x3x221然后,在命令窗口鍵入如下命令或建立M文件:fun=x(1)2+x(2)2-x(1)*x(2)-2*x(1)-5*x(2); %目標(biāo)函數(shù).x0=0 1;A=-2 3; % 線性不等式約束.b=6;Aeq= ; % 無線性等式約束.beq= ;lb= ; % x沒有下、上界.ub= ;x,fval,exitflag,output,lambda,grad,hessian=fmincon(fun,x0,A,b,Aeq,beq,lb
10、,ub,mycon)則結(jié)果為x = 3 4fval = -13exitflag = 1 % 解收斂. output = iterations: 2 funcCount: 9 stepsize: 1 algorithm: medium-scale: SQP, Quasi-Newton, line-search firstorderopt: cgiterations: lambda = lower: 2x1 double % x下界有效情況,通過lambda.lower可查看. upper: 2x1 double % x上界有效情況,為0表示約束無效. eqlin: 0 x1 double %線性
11、等式約束有效情況,不為0表示約束有效. eqnonlin: 0 x1 double %非線性等式約束有效情況. ineqlin: 2.5081e-008 %線性不等式約束有效情況. neqnonlin: 6.1938e-008 %非線性不等式約束有效情況. grad = %目標(biāo)函數(shù)在最小值點(diǎn)的梯度. 1.0e-006 * -0.1776 hessian = %目標(biāo)函數(shù)在最小值點(diǎn)的Hessian值. 1.0000 -0.0000 -0.0000 1.0000二次規(guī)劃問題二次規(guī)劃問題二次規(guī)劃問題(quadratic programming)的標(biāo)準(zhǔn)形式為: sub.to 其中,H、A、Aeq為矩陣,
12、f、b、beq、lb、ub、x為向量其它形式的二次規(guī)劃問題都可轉(zhuǎn)化為標(biāo)準(zhǔn)形式. MATLAB5.x版中的qp函數(shù)已被6.0版中的函數(shù)quadprog取代。xfxHx21minbxAbeqxAeqbuxbl函數(shù) quadprog格式 x = quadprog(H,f,A,b) %其中H,f,A,b為標(biāo)準(zhǔn)形中的參數(shù),x為目標(biāo)函數(shù)的最小值.x = quadprog(H,f,A,b,Aeq,beq) %Aeq,beq滿足等約束條件.x = quadprog(H,f,A,b,Aeq,beq,lb,ub) % lb,ub分別為解x的下界與上界.x = quadprog(H,f,A,b,Aeq,beq,lb
13、,ub,x0) %x0為設(shè)置的初值x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options) % options為指定的優(yōu)化參數(shù).x,fval = quadprog() %fval為目標(biāo)函數(shù)最優(yōu)值.x,fval,exitflag = quadprog() % exitflag與線性規(guī)劃中參數(shù)意義相同.x,fval,exitflag,output = quadprog() % output與線性規(guī)劃中參數(shù)意義相同.x,fval,exitflag,output,lambda = quadprog() % lambda與線性規(guī)劃中參數(shù)意義相同 . 3xx)0, 0(
14、xx0110)xx(213xx)xx( fmin2121212121例8求二次規(guī)劃的最優(yōu)解 max f (x1, x2)=x1x2+3 sub. to x1+x2-2=0解:化成標(biāo)準(zhǔn)形式: sub.to x1+x2=2在Matlab中實(shí)現(xiàn)如下:H=0,-1;-1,0;f=0;0;Aeq=1 1;b=2;x,fval,exitflag,output,lambda = quadprog(H,f, , ,Aeq,b)結(jié)果為:x = 1.0000 1.0000fval =-1.0000exitflag =4output = iterations: 1 algorithm: large-scale: p
15、rojective preconditioned conjugate gradients f irstorderopt: 0 cgiterations: 1 message: Optimization terminated: local minimum found; the solution is singular. lambda = eqlin: 1.0000 ineqlin: lower: upper: 極小化極大(Minmax)問題)x(FmaxminiFxi0)x(C0)x(CeqbxAbeqxAequbxlbsub.to 其中:x、b、beq、lb、ub是向量,A、Aeq為矩陣,C(
16、x)、Ceq(x)和F(x)是返回向量的函數(shù),F(xiàn)(x)、C(x)、 Ceq(x) 可以是非線性函數(shù).函數(shù) fminimax格式 x = fminimax(fun,x0)x = fminimax(fun,x0,A,b)x = fminimax(fun,x0,A,b,Aeq,beq)x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub)x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)x,fval,maxfval = fminimax()x,fval,maxfval,exitflag = fminimax()x,fval,maxfval,exitflag,output = fminimax()x,fval,maxfval,exitflag,output,lambda = fminimax()例9 求下列函數(shù)最大值的最小化問題其中:)x(f , )x(f , )x(f , )x(f , )x(f54321304x40 x48xx2)x(f212221122222x3x)x(f18x3x)x(f213214xx)x(f8xx)x(f215解:先建立目標(biāo)函數(shù)文件,并保存為myfun.m:function
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 核物理輸入量對快中子俘獲過程核合成的影響
- 沂源縣事業(yè)單位考試題歷年公共基礎(chǔ)知識真題及答案綜合應(yīng)用能力
- 改進(jìn)粒子群優(yōu)化算法在無人機(jī)運(yùn)動目標(biāo)搜索中的應(yīng)用研究
- 預(yù)處理巨噬細(xì)胞膜包被鉑納米團(tuán)簇用于牙齦卟啉單胞菌誘導(dǎo)的阿爾茲海默樣大腦病變小鼠治療作用研究
- 基于深度學(xué)習(xí)的海洋生物細(xì)粒度識別方法研究
- 沁陽公安頭盔管理辦法
- 海軍飛行訓(xùn)練管理辦法
- 測繪計(jì)量管理暫行辦法
- 公安收支業(yè)務(wù)管理辦法
- 聲響應(yīng)二維壓電材料促進(jìn)周圍神經(jīng)缺損修復(fù)研究
- 2023年10月自考00401學(xué)前比較教育試題及答案含評分標(biāo)準(zhǔn)
- 《二十四孝圖》課件
- 雨水口支管與雨水口隱蔽
- 公共衛(wèi)生工作整體提升匯報(bào)
- 美國RAZ分級讀物目錄整理
- 外墻清洗服務(wù)實(shí)施方案及措施
- 青少年樹立正確的人生價(jià)值觀專題教育課件
- 貴州2022-2023學(xué)年四年級數(shù)學(xué)第二學(xué)期期末質(zhì)量檢測試題含解析
- 污水處理廠風(fēng)險(xiǎn)清單
- 基坑開挖、立桿、架線、拉線施工安裝工藝要求(完整資料)
- 澠池鋁礦礦產(chǎn)資源開采與生態(tài)修復(fù)方案
評論
0/150
提交評論