用MATLAB實(shí)現(xiàn)最速下降法-牛頓法和共軛梯度法求解實(shí)例_第1頁
用MATLAB實(shí)現(xiàn)最速下降法-牛頓法和共軛梯度法求解實(shí)例_第2頁
用MATLAB實(shí)現(xiàn)最速下降法-牛頓法和共軛梯度法求解實(shí)例_第3頁
用MATLAB實(shí)現(xiàn)最速下降法-牛頓法和共軛梯度法求解實(shí)例_第4頁
用MATLAB實(shí)現(xiàn)最速下降法-牛頓法和共軛梯度法求解實(shí)例_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、精品好資料學(xué)習(xí)推薦 實(shí)驗(yàn)的題目和要求1、 所屬課程名稱:最優(yōu)化方法2、 實(shí)驗(yàn)日期: 3、 實(shí)驗(yàn)?zāi)康恼莆兆钏傧陆捣ǎnD法和共軛梯度法的算法思想,并能上機(jī)編程實(shí)現(xiàn)相應(yīng)的算法。二、實(shí)驗(yàn)要求用MATLAB實(shí)現(xiàn)最速下降法,牛頓法和共軛梯度法求解實(shí)例。四、實(shí)驗(yàn)原理最速下降法是以負(fù)梯度方向最為下降方向的極小化算法,相鄰兩次的搜索方向是互相直交的。牛頓法是利用目標(biāo)函數(shù)在迭代點(diǎn)處的Taylor展開式作為模型函數(shù),并利用這個二次模型函數(shù)的極小點(diǎn)序列去逼近目標(biāo)函數(shù)的極小點(diǎn)。共軛梯度法它的每一個搜索方向是互相共軛的,而這些搜索方向僅僅是負(fù)梯度方向與上一次接待的搜索方向的組合。五運(yùn)行及結(jié)果如下: 最速下降法:題目:f

2、=(x-2)2+(y-4)2M文件:function R,n=steel(x0,y0,eps)syms x;syms y;f=(x-2)2+(y-4)2;v=x,y;j=jacobian(f,v);T=subs(j(1),x,x0),subs(j(2),y,y0);temp=sqrt(T(1)2+(T(2)2);x1=x0;y1=y0;n=0;syms kk;while (tempeps) d=-T; f1=x1+kk*d(1);f2=y1+kk*d(2); fT=subs(j(1),x,f1),subs(j(2),y,f2); fun=sqrt(fT(1)2+(fT(2)2); Mini=G

3、old(fun,0,1,0.00001); x0=x1+Mini*d(1);y0=y1+Mini*d(2); T=subs(j(1),x,x0),subs(j(2),y,y0); temp=sqrt(T(1)2+(T(2)2); x1=x0;y1=y0; n=n+1;endR=x0,y0調(diào)用黃金分割法:M文件:function Mini=Gold(f,a0,b0,eps)syms x;format long;syms kk;u=a0+0.382*(b0-a0);v=a0+0.618*(b0-a0);k=0;a=a0;b=b0;array(k+1,1)=a;array(k+1,2)=b;whil

4、e(b-a)/(b0-a0)=eps) Fu=subs(f,kk,u); Fv=subs(f,kk,v);if(FuFv) a=u; u=v; v=a+0.618*(b-a); k=k+1;end array(k+1,1)=a;array(k+1,2)=b;endMini=(a+b)/2;輸入:R,n=steel(0,1,0.0001)R = 1.99999413667642 3.99999120501463R = 1.99999413667642 3.99999120501463n = 1牛頓法:題目:f=(x-2)2+(y-4)2M文件:syms x1x2; f=(x1-2)2+(x2-4

5、)2;v=x1,x2; df=jacobian(f,v); df=df.; G=jacobian(df,v); epson=1e-12;x0=0,0;g1=subs(df,x1,x2,x0(1,1),x0(2,1);G1=subs(G,x1,x2,x0(1,1),x0(2,1);k=0;mul_count=0;sum_count=0; mul_count=mul_count+12;sum_count=sum_count+6; while(norm(g1)epson) p=-G1g1; x0=x0+p; g1=subs(df,x1,x2,x0(1,1),x0(2,1); G1=subs(G,x1

6、,x2,x0(1,1),x0(2,1); k=k+1; mul_count=mul_count+16;sum_count=sum_count+11; end; k x0 mul_count sum_count結(jié)果:k = 1x0 =2 4mul_count = 28sum_count = 17共軛梯度法:題目:f=(x-2)2+(y-4)2M文件:function f=conjugate_grad_2d(x0,t)x=x0;syms xiyiaf=(xi-2)2+(yi-4)2;fx=diff(f,xi);fy=diff(f,yi);fx=subs(fx,xi,yi,x0);fy=subs(f

7、y,xi,yi,x0);fi=fx,fy;count=0;while double(sqrt(fx2+fy2)t s=-fi;if count=0 s=-fi;else s=s1;end x=x+a*s; f=subs(f,xi,yi,x); f1=diff(f); f1=solve(f1);if f1=0 ai=double(f1);elsebreak x,f=subs(f,xi,yi,x),countend x=subs(x,a,ai); f=xi-xi2+2*xi*yi+yi2; fxi=diff(f,xi); fyi=diff(f,yi); fxi=subs(fxi,xi,yi,x); fyi=subs(fyi,xi,yi,x); fii=fxi,fyi; d=(fxi2+fyi2)/(fx2+fy2); s1=-fii+d*s; count=count+1; fx=fxi; fy=fyi;endx,f=subs(f,xi,yi,x),count輸入:conjugate_grad_2d(0,0,0.0001)結(jié)果:x = 0.24998825499785 -0.24999998741273f = 0.12499999986176count = 10ans

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論