最速下降法与共轭梯度法实验.doc_第1页
最速下降法与共轭梯度法实验.doc_第2页
最速下降法与共轭梯度法实验.doc_第3页
最速下降法与共轭梯度法实验.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

工程数值算法实验报告班级姓 名学 号课程名称时 间地 点一、实验名称: 实验一、最速下降法与共轭梯度法实验二、 实验目的:1理解最速下降法与共轭梯度法的基本原理;2最速下降法是一种局部极值搜寻方法,任一点的负梯度方向是函数值在该点下降最快的方向;3共轭梯度法适合求解二次函数最小值问题。三、 实验内容及要求:例1 求解,其中,需求选取初始点,终止误差为e = 0.1。采用最速下降法求解例2 用最速下降法求解无约束非线性规划问题: 其中,初始点,终止误差e = 0.1.采用共轭梯度法。四、插值法的实验步骤:步骤1:如何选择搜索方向步骤2:在确定搜索方向上,采用适合的方法进行一维搜索五、插值法的实验结果:例1结果:=1.9304 = 0.9744 例2结果: =-1 =1六、程序附录例1 定义函数function x=fsxsteep(f,e,a,b)% fsxsteep函数 最速下降法% x=fsxsteep(f,e,a,b)为输入函数 f为函数 e为允许误差 (a,b)为初始点;% fsx TJPU 2008.6.15x1=a;x2=b;Q=fsxhesse(f,x1,x2);x0=x1 x2;fx1=diff(f,x1); %对x1求偏导数fx2=diff(f,x2); %对x2求偏导数g=fx1 fx2; %梯度g1=subs(g); %把符号变量转为数值d=-g1;while (abs(norm(g1)=e)t=(-d)*d/(-d)*Q*d);t=(-d)*d/(-d)*Q*d); %求搜索方向x0=x0-t*g1; %搜索到的点v=x0;a=1 0*x0;b=0 1*x0;x1=a;x2=b;g1=subs(g);d=-g1;end;x=v;function x=fsxhesse(f,a,b)% fsxhesse函数 求函数的hesse矩阵;% 本程序仅是简单的求二次函数的hesse矩阵!;% x=fsxhesse(f)为输入函数 f为二次函数 x1,x2为自变量;% fsx TJPU 2008.6.15x1=a;x2=b;fx=diff(f,x1);%求f对x1偏导数fy=diff(f,x2);%求f对x2偏导数fxx=diff(fx,x1);%求二阶偏导数 对x1再对x1fxy=diff(fx,x2);%求二阶偏导数 对x1再对x2fyx=diff(fy,x1); %求二阶偏导数 对x2再对x1fyy=diff(fy,x2);%求二阶偏导数 对x2再对x2fxx=subs(fxx); %将符号变量转化为数值fxy=subs(fxy);fyx=subs(fyx);fyy=subs(fyy);x=fxx,fxy;fyx,fyy; %求hesse矩阵运行函数syms x1 x2;X=x1,x2;fx=(X(1)-2).4+(X(1)-2*X(2).2;z=fsxsteep(fx,0.1,0,3)例2 定义函数%conjugate gradient methods%method:FR,PRP,HS,DY,CD,WYL,LS%精确线搜索,梯度终止准则function m,k,d,a,X,g1,fv = conjgradme( G,b,c,X,e,method)if nargin=e k(i-1)=(m/m1)2; d(:,i)=-g1(:,i)+k(i-1)*d(:,i-1); a(i)=-(d(:,i)*g1(:,i)/(d(:,i)*G*d(:,i); %a1(i)=-(X(:,i)*G*d(:,i)+b*d(:,i)/(d(:,i)*G*d(:,i);a(i)=g1(:,i)*g1(:,i)/(d(:,i)*G*d(:,i); X(:,i+1)=X(:,i)+a(i)*d(:,i); g1=g1 subs(subs(g,x1,X(1,i+1),x2,X(2,i+1); m1=m; m=norm(g1(:,i+1); i=i+1; end case PRP while m=e k(i-1)=g1(:,i)*(g1(:,i)-g1(:,i-1)/(norm(g1(:,i-1)2; d(:,i)=-g1(:,i)+k(i-1)*d(:,i-1); a(i)=-(d(:,i)*g1(:,i)/(d(:,i)*G*d(:,i); X(:,i+1)=X(:,i)+a(i)*d(:,i); g1=g1 subs(subs(g,x1,X(1,i+1),x2,X(2,i+1); m=norm(g1(:,i+1); i=i+1; end case HS while m=e k(i-1)=g1(:,i)*(g1(:,i)-g1(:,i-1)/(d(:,i-1)*(g1(:,i)-g1(:,i-1); d(:,i)=-g1(:,i)+k(i-1)*d(:,i-1); a(i)=-(d(:,i)*g1(:,i)/(d(:,i)*G*d(:,i); X(:,i+1)=X(:,i)+a(i)*d(:,i); g1=g1 subs(subs(g,x1,X(1,i+1),x2,X(2,i+1); m=norm(g1(:,i+1); i=i+1; end case DY while m=e k(i-1)=g1(:,i)*g1(:,i)/(d(:,i-1)*(g1(:,i)-g1(:,i-1); d(:,i)=-g1(:,i)+k(i-1)*d(:,i-1); a(i)=-(d(:,i)*g1(:,i)/(d(:,i)*G*d(:,i); X(:,i+1)=X(:,i)+a(i)*d(:,i); g1=g1 subs(subs(g,x1,X(1,i+1),x2,X(2,i+1); m=norm(g1(:,i+1); i=i+1; end case LS while m=e k(i-1)=g1(:,i)*(g1(:,i)-g1(:,i-1)/(d(:,i-1)*(-g1(:,i-1); d(:,i)=-g1(:,i)+k(i-1)*d(:,i-1); a(i)=-(d(:,i)*g1(:,i)/(d(:,i)*G*d(:,i); %a(i)=-(X(:,i)*G*d(:,i)+b*d(:,i)/(d(:,i)*G*d(:,i); X(:,i+1)=X(:,i)+a(i)*d(:,i); g1=g1 subs(subs(g,x1,X(1,i+1),x2,X(2,i+1); m=norm(g1(:,i+1); i=i+1; end case CD while m=e k(i-1)=g1(:,i)*g1(:,i)/(d(:,i-1)*(-g1(:,i-1); d(:,i)=-g1(:,i)+k(i-1)*d(:,i-1); a(i)=-(d(:,i)*g1(:,i)/(d(:,i)*G*d(:,i); X(:,i+1)=X(:,i)+a(i)*d(:,i); g1=g1 subs(subs(g,x1,X(1,i+1),x2,X(2,i+1); m=norm(g1(:,i+1); i=i+1; end case WYL while m=e k(i-1)=g1(:,i)*(g1(:,i)-(m/m1)*g1(:,i-1)/(m12); d(:,i)=-g1(:,i)+k(i-1)*d(:,i-1); a(i)=-(d(:,i)*g1(:,i)/(d(:,i)*G*d(:,i); %a(i)=-(X(:,i)*G*d(:,i)+b*d(:,i)/(d(:,i)*G*d(:,i); X(:,i+1)=X(:,i)+a(i)*d(:,i); g1=g1 subs(subs(g,x1,X(1,i+1),x2,X(2,i+1); m1=m; m=norm(g1(:,i+1); i=i+1; endendfv=subs(subs(f,x1,X(1,i),x2,X(2,i); endl1=X(1,i);l2=X(2,i);w1=X(1,1);w2=X(2,1);v1=min(l1,w1)-abs(l1-w1)/10:abs(l1-w1)/10:max(l1,w1)+abs(l1-w1)/10;v2=min(l2,w2)-abs(l2-w2)/10:abs(l2-w2)/10:max(l2,w2)+abs(l2-w2)/10;x,y=meshgrid(v1,v2);s=size(x);z=zeros(size(x);for i=1:s(1) for j=1:s(2) z(i,j)=1/2*x(i,j),y(i,j)*G*x(i,j);y(i,j)+b*x(i,j);y(i,j)+c; endendpx,py = gradient(z,.2,.2);contour(v1,v2,z), hold on, quiver(v1,v2,px,py)C,h = cont

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论