精确线搜索方法.doc_第1页
精确线搜索方法.doc_第2页
精确线搜索方法.doc_第3页
精确线搜索方法.doc_第4页
全文预览已结束

下载本文档

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

文档简介

实验一 实验项目编号E04203401实验项目名称精确线搜索方法实验学时2实验日期2013.10.28成绩实验地点*指导老师杨扬一、实验目的、要求目的:掌握线性搜索中精确线搜索的基本思想,熟悉其中的无导数方法黄金分割法及利用导数信息的逐次插值逼近算法,加强编程能力和编程技巧,能够上机求解单变量函数的最优化问题,同时为解决后面的多变量函数最优化做好基础。要求:针对给定的实验题目,根据所学的黄金分割算法和逐次插值逼近算法,能够熟练地使用某种语言上机编程,给出实验结果,注意上机编程的正确性。二、实验原理算法详见教材中算法3.2.1,算法3.3.1等。需要写算法三、实验内容:1、用0.618法极小化,区间为-1,1。2、用二次插值法求的近似最优解,初始搜索区间为0,1。3、分别用0.618法、三点二次插值法求在区间0,1上的极大值。四、实验过程原始记录(数据、图表、计算等)三点二次插值法:主程序:functionk,j,min= f1(h,a,b,c,e)k=1;A=feval(h,a);B=feval(h,b);C=feval(h,c);while(kb if D=B A=B;a=b;b=d;B=D; else c=d;C=D; end if abs(c-a)=e j=d; min=D; return; end else if D=B c=b;b=d;C=B;B=D; else a=d;A=D; end if abs(c-a)e) h(k)=feval(fun,r(k);%计算函数在r(n)处的值 g(k)=feval(fun,u(k);%计算函数在u(n)处的值 if h(k)g(k) a(k+1)=r(k);b(k+1)=b(k);r(k+1)=u(k);u(k+1)=a(k+1)+0.618*(b(k+1)-a(k+1);else a(k+1)=a(k);b(k+1)=u(k);u(k+1)=r(k);r(k+1)=a(k+1)+0.382*(b(k+1)-a(k+1); end k=k+1; end x=(b(k)+a(k)/2; min=feval(fun,x);%函数的极值 目标函数1:function y= fun(t)y=-sin(t)6*tan(1-t)*exp(30*t);目标函数2:y=exp(-t)+exp(t);5、 实验结果及分析三点二次插值法:Max y=sin(x)6*tan(1-x)*exp(30*x); k,j,min= f1(h,0,0.4,1,0.001)k =44j =0.9707min =4.1086e+010Min y=1-t*exp(-t2);k,j,min= f1(h,0,0.5,1,0.001)k = 13j =0.7071min = 0.57110.617法:Max y=-sin(x)6*tan(1-x)*exp(30*x);k,min,x=f(fun,0,1,0.001)k =16max= 4.1086e+010x = 0.9707Min y=exp(-t)+exp(t);k,min,x=f(fun,-1,1,0.01) k =13min =2.0000x =-4.6968e-005分析:根据精确线搜索的换进分割法和逐次插值逼近法编写的matlab程序,比较发现,精度e越小(即接近于0),越接近

温馨提示

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

评论

0/150

提交评论