十一講優(yōu)化與數(shù)值積分省名師優(yōu)質(zhì)課賽課獲獎(jiǎng)?wù)n件市賽課一等獎(jiǎng)?wù)n件_第1頁(yè)
十一講優(yōu)化與數(shù)值積分省名師優(yōu)質(zhì)課賽課獲獎(jiǎng)?wù)n件市賽課一等獎(jiǎng)?wù)n件_第2頁(yè)
十一講優(yōu)化與數(shù)值積分省名師優(yōu)質(zhì)課賽課獲獎(jiǎng)?wù)n件市賽課一等獎(jiǎng)?wù)n件_第3頁(yè)
十一講優(yōu)化與數(shù)值積分省名師優(yōu)質(zhì)課賽課獲獎(jiǎng)?wù)n件市賽課一等獎(jiǎng)?wù)n件_第4頁(yè)
十一講優(yōu)化與數(shù)值積分省名師優(yōu)質(zhì)課賽課獲獎(jiǎng)?wù)n件市賽課一等獎(jiǎng)?wù)n件_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第十一講優(yōu)化、數(shù)值積分

與常微分方程數(shù)值解9/12/2023第1頁(yè)9/12/20231第十一講優(yōu)化、數(shù)值積分

與常微分方程數(shù)值解11.1無(wú)約束優(yōu)化11.2約束線性優(yōu)化11.3二次規(guī)劃11.4非線性方程求解11.5數(shù)值積分理論和方法11.6數(shù)值積分Matlab實(shí)現(xiàn)11.7常微分方程數(shù)值解第2頁(yè)9/12/2023211.1無(wú)約束優(yōu)化形如:minf(x),x=(x1,……,xn)T

優(yōu)化問題常稱為無(wú)約束線性規(guī)劃,實(shí)際上是多元函數(shù)無(wú)條件極值問題,極值點(diǎn)是局部最優(yōu)解,全局最優(yōu)解只能從局部最優(yōu)解中比較得到,以下所謂最優(yōu)解均指局部最優(yōu)解第3頁(yè)9/12/2023311.1無(wú)約束優(yōu)化1.fminbnd功效:計(jì)算非線性一元函數(shù)最小值。格式:[X,FVAL]=fminbnd(‘fun’,x1,x2)例:計(jì)算函數(shù)f(x)=(x^3+x^2-1)/(exp(x)+exp(-x))最小值和最小值點(diǎn),-5<=x<=5第4頁(yè)9/12/2023411.1無(wú)約束優(yōu)化>>fun='(x^3+x^2-1)/(exp(x)+exp(-x))';

>>ezplot(fun)

>>[x,fval,exitflag]=fminbnd(fun,-5,5)

x=

-3.3112

fval=

-0.9594

exitflag=

1第5頁(yè)9/12/2023511.1無(wú)約束優(yōu)化2.fminsearch功效:計(jì)算多元函數(shù)最小值。格式:X=fminsearch(‘fun’,X0);

[X,fval,exitflag]=fminsearch(...)例:求點(diǎn)(x1,x2)使目標(biāo)函數(shù)f(x)取得最小值:f(x)=sin(x1)+cos(x2)第6頁(yè)9/12/2023611.1無(wú)約束優(yōu)化x0=[0,0];

>>fun='sin(x(1))+cos(x(2))';

>>[x,fval,exitflag]=fminsearch(fun,x0)

x=

-1.57083.1416

fval=

-2.0000

exitflag=

1第7頁(yè)9/12/2023711.2約束線性優(yōu)化約束優(yōu)化即為含有一定條件優(yōu)化問題,其普通形式為若f,gi是線性函數(shù),則稱此模型為線性規(guī)劃,不然稱為非線性規(guī)劃。第8頁(yè)9/12/2023811.2約束線性優(yōu)化linprog功效:約束線性優(yōu)化。格式:X=linprog(f,A,b,Aeq,beq)X=linprog(f,A,b,Aeq,beq,LB,UB)這里,由Aeq與beq確定了等式約束,LB,UB確定了x范圍,x0為初值。第9頁(yè)9/12/2023911.2約束線性優(yōu)化例:Min–5x1+4x2+2x3S.t6x1-x2+3x3<=8x1+2x2+4x3<=10-1<=x1<=30<=x2<=2x3>=0

第10頁(yè)9/12/20231011.2約束線性優(yōu)化>clear

>>f=[-542];

>>A=[6-11;124];

>>b=[8;10];

>lb=[-100];

>>ub=[3,2];第11頁(yè)9/12/20231111.2約束線性優(yōu)化>>[x,f]=linprog(f,A,b,[],[],lb,ub)

Optimizationterminated.

x=

1.3333

0.0000

0.000

f=

-6.6667

第12頁(yè)9/12/20231211.3二次規(guī)劃對(duì)于非線性規(guī)劃,常見是二次規(guī)劃,其普通模型為:minf(x)=0.5xTHx+cxs.t.AX≤b尤其,當(dāng)H為正定矩陣時(shí),目標(biāo)函數(shù)為凸函數(shù),線性約束下可行域?yàn)橥辜?,此時(shí)稱凸二次規(guī)劃。第13頁(yè)9/12/20231311.3二次規(guī)劃1.quadprog功效:求解二次規(guī)劃問題格式:X=quadprog(H,f,A,b)X=quadprog(H,f,A,b,Aeq,beq)X=quadprog(H,f,A,b,Aeq,beq,LB,UB)X=quadprog(H,f,A,b,Aeq,beq,LB,UB,X0)第14頁(yè)9/12/20231411.3二次規(guī)劃例:第15頁(yè)9/12/20231511.3二次規(guī)劃h=[1-1;-12];>>c=[-2;-6];>>a=[11;-12;21];>>b=[2;2;3];>>lb=[00];>>[x,f]=quadprog(h,c,a,b,[],[],lb)x=0.66671.3333f=-8.2222第16頁(yè)9/12/20231611.4非線性方程求解1.fzero功效:求非線性方程近似解

格式:x=fzero(‘f’,x0)[X,FVAL]=fzero(‘f’,...)例:>>[x,f]=fzero('sin',2)x=3.1416f=1.2246e-016第17頁(yè)9/12/20231711.4非線性方程求解2.fsolve功效:求非線性方程近似解

格式:x=fsolve(‘f’,x0)[X,FVAL]=fsolve(‘f’,X0,...)例:>>[x,f]=fsolve('cos(x)+x',1)x=-0.7391f=-2.8460e-010第18頁(yè)9/12/20231811.5數(shù)值積分理論和方法第19頁(yè)9/12/20231911.5數(shù)值積分理論和方法第20頁(yè)9/12/20232011.5數(shù)值積分理論和方法第21頁(yè)9/12/20232111.5數(shù)值積分理論和方法第22頁(yè)9/12/20232211.5數(shù)值積分理論和方法第23頁(yè)9/12/20232311.6數(shù)值積分Matlab實(shí)現(xiàn)1.一元函數(shù)數(shù)值積分函數(shù)1quad、quadl功效數(shù)值定積分,自適應(yīng)Simpleson積分法。格式

q=quad(fun,a,b)%近似地從a到b計(jì)算函數(shù)fun數(shù)值積分,誤差為10-6。若給fun輸入向量x,應(yīng)返回向量y,即fun是一單值函數(shù)。第24頁(yè)9/12/20232411.6數(shù)值積分Matlab實(shí)現(xiàn)q=quad(fun,a,b,tol)%用指定絕對(duì)誤差tol代替缺省誤差。tol越大,函數(shù)計(jì)算次數(shù)越少,速度越快,但結(jié)果精度變小。q=quad(fun,a,b,tol,trace,p1,p2,…)%將可選參數(shù)p1,p2,…等傳遞給函數(shù)fun(x,p1,p2,…),再作數(shù)值積分。若tol=[]或trace=[],則用缺省值進(jìn)行計(jì)算。第25頁(yè)9/12/20232511.6數(shù)值積分Matlab實(shí)現(xiàn)[q,n]=quad(fun,a,b,…)%同時(shí)返回函數(shù)計(jì)算次數(shù)n…=quadl(fun,a,b,…)%用高精度進(jìn)行計(jì)算,效率可能比quad更加好。例2-40>>fun=inline(‘3*x.^2./(x.^3-2*x.^2+3)’);>>Q1=quad(fun,0,2)%Q1=3.7224>>Q2=quadl(fun,0,2)%Q2=3.7224第26頁(yè)9/12/20232611.6數(shù)值積分Matlab實(shí)現(xiàn)函數(shù)2trapz功效梯形法數(shù)值積分格式T=trapz(Y)%用等距梯形法近似計(jì)算Y積分。若Y是一向量,則trapz(Y)為Y積分;若Y是一矩陣,則trapz(Y)為Y每一列積分。第27頁(yè)9/12/20232711.6數(shù)值積分Matlab實(shí)現(xiàn)T=trapz(X,Y)%用梯形法計(jì)算Y在X點(diǎn)上積分。若X為一列向量,Y為矩陣,且size(Y,1)=length(X),則對(duì)Y每一列積分。第28頁(yè)9/12/20232811.6數(shù)值積分Matlab實(shí)現(xiàn)2二元函數(shù)重積分?jǐn)?shù)值計(jì)算函數(shù)dblquad功效矩形區(qū)域上二重積分?jǐn)?shù)值計(jì)算格式q=dblquad(fun,xmin,xmax,ymin,ymax)

%調(diào)用函數(shù)quad在區(qū)域[xmin,xmax,ymin,ymax]上計(jì)算二元函數(shù)z=f(x,y)二重積分。第29頁(yè)9/12/20232911.6數(shù)值積分Matlab實(shí)現(xiàn)q=dblquad(fun,xmin,xmax,ymin,ymax,tol)

用指定精度tol代替缺省精度10-6,再進(jìn)行計(jì)算。q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method)%用指定算法method代替缺省算法quad。method取值有@quadl。第30頁(yè)9/12/20233011.6數(shù)值積分Matlab實(shí)現(xiàn)q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method,p1,p2,…)%將可選參數(shù)p1,p2,..等傳遞給函數(shù)fun(x,y,p1,p2,…)。若tol=[],method=[],則使用缺省精度和算法quad。如:>>fun=inline(’y./sin(x)+x.*exp(y)’);>>Q=dblquad(fun,1,3,5,7)計(jì)算結(jié)果為:Q=3.8319e+003第31頁(yè)9/12/20233111.6數(shù)值積分Matlab實(shí)現(xiàn)q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method)%用指定算法method代替缺省算法。method取值有缺省算法或用戶指定、與缺省命令有相同調(diào)用次序函數(shù)句柄。q=dblquad(fun,xlower,xupper,ymin,ymax,tol,method,p1,p2,…)%將可選參數(shù)p1,p2,..等傳遞給函數(shù)fun(x,y,p1,p2,…)。若tol=[],method=[],則使用缺省精度和算法。第32頁(yè)9/12/20233211.7常微分方程數(shù)值解函數(shù)ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb功效常微分方程(ODE)組初值問題數(shù)值解參數(shù)說(shuō)明:solver為命令ode45、de23,ode113,ode15s,ode23s,ode23t,ode23tb之一。Odefun為顯式常微分方程y’=f(t,y)。第33頁(yè)9/12/20233311.7常微分方程數(shù)值解Tspan積分區(qū)間(即求解區(qū)間)向量tspan=[t0,tf]。要取得問題在其它指定時(shí)間點(diǎn)t0,t1,t2,…上解,則令tspan=[t0,t1,t2,…,tf](要求是單調(diào))。Y0包含初始條件向量。Options用命令odeset設(shè)置可選積分參數(shù)。P1,p2,…傳遞給函數(shù)odefun可選參數(shù)。第34頁(yè)9/12/20233411.7常微分方程數(shù)值解格式[T,Y]=solver(odefun,tspan,y0)%在區(qū)間tspan=[t0,tf]上,從t0到tf,用初始條件y0求解顯式微分方程y’=f(t,y)。對(duì)于標(biāo)量t與列向量y,函數(shù)f=odefun(t,y)必須返回一f(t,y)列向量f。解矩陣Y中每一行對(duì)應(yīng)于返回時(shí)間列向量T中一個(gè)時(shí)間點(diǎn)。要取得問題在其它指定時(shí)間點(diǎn)t0,t1,t2,…上解,則令tspan=[t0,t1,t2,…,tf](要求是單調(diào))。第35頁(yè)9/12/20233511.7常微分方程數(shù)值解[T,Y]=solver(odefun,tspan,y0,options)%用參數(shù)options(用命令odeset生成)設(shè)置屬性(代替了缺省積分參數(shù)),再進(jìn)行操作。慣用屬性包含相對(duì)誤差值RelTol(缺省值為1e-3)與絕對(duì)誤差向量AbsTol(缺省值為每一元素為1e-6)。[T,Y]=solver(odefun,tspan,y0,options,p1,p2…)

將參數(shù)p1,p2,p3,..等傳遞給函數(shù)odefun,再進(jìn)行計(jì)算。若沒有參數(shù)設(shè)置,則令options=[]。第36頁(yè)9/12/20233611.7常微分方程數(shù)值解1.求解詳細(xì)ODE基本過程:(1)依據(jù)問題所屬學(xué)科中規(guī)律、定律、公式,用微分方程與初始條件進(jìn)行描述。F(y,y’,y’’,…,y(n),t)=0y(0)=y0,y’(0)=y1,…,y(n-1)(0)=yn-1而y=[y;y(1);y(2);…,y(m-1)],n與m能夠不等第37頁(yè)9/12/20233711.7常微分方程數(shù)值解(2)利用數(shù)學(xué)中變量替換:yn=y(n-1),yn-1=y(n-2),…,y2=y’,y1=y,把高階(大于2階)方程(組)寫成一階微分方程組:,

第38頁(yè)9/12/20233811.7常微分方程數(shù)值解(3)依據(jù)(1)與(2)結(jié)果,編寫能計(jì)算導(dǎo)數(shù)M-函數(shù)文件odefile。(4)將文件odefile與初始條件傳遞給求解器Solver中一個(gè),運(yùn)行后就可得到ODE、在指定時(shí)間區(qū)間上解列向量y(其中包含y及不一樣階導(dǎo)數(shù))。2.求解器Solver與方程組關(guān)系表見下表

第39頁(yè)9/12/202339函數(shù)指令含義函數(shù)含義求解器Solverode23普通2-3階法解ODEodefile包含ODE文件ode23s低階法解剛性O(shè)DE選項(xiàng)odeset創(chuàng)建、更改Solve

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論