matlab最速下降法,牛頓法和共軛梯度法求解的方法

matlab最速下降法,牛頓法和共軛梯度法求解的方法

ID:7070680

大?。?5.50 KB

頁數(shù):4頁

時間:2018-02-04

matlab最速下降法,牛頓法和共軛梯度法求解的方法_第1頁
matlab最速下降法,牛頓法和共軛梯度法求解的方法_第2頁
matlab最速下降法,牛頓法和共軛梯度法求解的方法_第3頁
matlab最速下降法,牛頓法和共軛梯度法求解的方法_第4頁
資源描述:

《matlab最速下降法,牛頓法和共軛梯度法求解的方法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、實驗要求一、所屬課程名稱:最優(yōu)化方法二、實驗日期:2010年5月10日~2010年5月15日三、實驗?zāi)康恼莆兆钏傧陆捣?,牛頓法和共軛梯度法的算法思想,并能上機編程實現(xiàn)相應(yīng)的算法。二、實驗要求用MATLAB實現(xiàn)最速下降法,牛頓法和共軛梯度法求解實例。四、實驗原理最速下降法是以負梯度方向最為下降方向的極小化算法,相鄰兩次的搜索方向是互相直交的。牛頓法是利用目標函數(shù)在迭代點處的Taylor展開式作為模型函數(shù),并利用這個二次模型函數(shù)的極小點序列去逼近目標函數(shù)的極小點。共軛梯度法它的每一個搜索方向是互相共軛的,而這些搜索方向僅僅是負梯度方向與上一次接待的搜索方向的

2、組合。五.運行及結(jié)果如下:最速下降法:題目:f=(x-2)^2+(y-4)^2M文件:function[R,n]=steel(x0,y0,eps)symsx;symsy;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;symskk;while(temp>eps)d=-T;f1=x1+kk*d(1);f2=y1+kk*d(2);fT=[subs(j(1),x,f

3、1),subs(j(2),y,f2)];fun=sqrt((fT(1))^2+(fT(2))^2);Mini=Gold(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文件:functionMini=Gold(f,a0,b0,eps)symsx;formatlong;symskk;u=a0+0.382

4、*(b0-a0);v=a0+0.618*(b0-a0);k=0;a=a0;b=b0;array(k+1,1)=a;array(k+1,2)=b;while((b-a)/(b0-a0)>=eps)Fu=subs(f,kk,u);Fv=subs(f,kk,v);if(Fu<=Fv)b=v;v=u;u=a+0.382*(b-a);k=k+1;elseif(Fu>Fv)a=u;u=v;v=a+0.618*(b-a);k=k+1;endarray(k+1,1)=a;array(k+1,2)=b;endMini=(a+b)/2;輸入:[R,n]=steel(0,1,

5、0.0001)R=1.999994136676423.99999120501463R=1.999994136676423.99999120501463n=1牛頓法:題目:f=(x-2)^2+(y-4)^2M文件:symsx1x2;f=(x1-2)^2+(x2-4)^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

6、)});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,x2},{x0(1,1),x0(2,1)});k=k+1;mul_count=mul_count+16;sum_count=sum_count+11;end;kx0mul_countsum_count共軛梯度法:題目:f=(x

7、-2)^2+(y-4)^2M文件:functionf=conjugate_grad_2d(x0,t)x=x0;symsxiyiaf=(xi-2)^2+(yi-4)^2;fx=diff(f,xi);fy=diff(f,yi);fx=subs(fx,{xi,yi},x0);fy=subs(fy,{xi,yi},x0);fi=[fx,fy];count=0;whiledouble(sqrt(fx^2+fy^2))>ts=-fi;ifcount<=0s=-fi;elses=s1;endx=x+a*s;f=subs(f,{xi,yi},x);f1=diff(f);

8、f1=solve(f1);iff1~=0ai=double(f1);elsebr

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。