用MATLAB实现最速下降法

用MATLAB实现最速下降法

ID:78040838

大小:22.41 KB

页数:9页

时间:2022-01-30

用MATLAB实现最速下降法_第1页
用MATLAB实现最速下降法_第2页
用MATLAB实现最速下降法_第3页
用MATLAB实现最速下降法_第4页
用MATLAB实现最速下降法_第5页
用MATLAB实现最速下降法_第6页
用MATLAB实现最速下降法_第7页
用MATLAB实现最速下降法_第8页
用MATLAB实现最速下降法_第9页
资源描述:

《用MATLAB实现最速下降法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验的题目和要求一、所属课程名称:最优化方法二、实验日期:2010年5月10日〜2010年5月15日三、实验目的掌握最速下降法,牛顿法和共钝梯度法的算法思想,并能上机编程实现相应的算法。二、实验要求用MATLAB实现最速下降法,牛顿法和共钝梯度法求解实例。四、实验原理最速下降法是以负梯度方向最为下降方向的极小化算法,相邻两次的搜索方向是互相直交的。牛顿法是利用目标函数f(x)在迭代点xk处的Taylor展开式作为模型函数,并利用这个二次模型函数的极小点序列去逼近目标函数的极小点。共钝梯度法它的每一个搜索方向是互相共钝的,而这些搜索方向dk仅仅是负梯度方向.gk与上

2、一次接待的搜索方向dy的组合。五.运行及结果如下:最速下降法:题目:f=(x-2)A2+(y-4)A2M文件:精品资料function[R,n]=steel(x0,y0,eps)symsx;symsy;f=(x-2)A2+(y-4)A2;v=[x,y];j=jacobian(f,v);T=[subsO(1),x,x0),subs(j(2),y,y0)];temp=sqrt((T(1))A2+(T(2))A2);x1=x0;y1=y0;n=0;symskk;while(temp>eps)d=-T;f1=x1+kkd(1);f2=y1+kkd(2);fT=[subs(

3、j(1),x,f1),subs(j(2),y,f2)];fun=sqrt((fT(1))A2+(fT(2))A2);Mini=Gold(fun,0,1,0.00001);x0=x1+Minid(1);y0=y1+Minid(2);T=[subs(j(1),x,x0),subs(j(2),y,y0)];temp=sqrt((T(1))A2+(T(2))A2);x1=x0;y1=y0;n=n+1;精品资料endR=[x0,y0]调用黄金分割法:M文件:functionMini=Gold(f,a0,b0,eps)symsx;formatlong;symskk;u=a0+

4、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;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)A2+(y-4)A2M文件:symsx1x2;f=(x1-2)A2+(x2-4)A2;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

6、=0;m精品资料ul_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结果::k=1x0=24mul_cou

7、nt=28sum_count=17精品资料共钝梯度法:精品资料题目:f=(x-2F2+(y-4F2M文件:functionf=conjugate_grad_2d(x0,t)x=x0;symsxiyiaf=(xi-2)A2+(yi-4)A2;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(fxA2+fyA2))>ts=-fi;ifcount<=0s=-fi;elses=s1;endx=x+as;f

8、=subs

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。