资源描述:
《最优化 马昌凤 第二章作业》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、最优化方法及其Matlab程序设计习题作业暨实验报告学院:数学与信息科学学院班级:12级信计一班姓名:李明学号:1201214049第二章线搜索技术一、上机问题与求解过程1、用0.618法求解初始区间,区间精度为.解:当初始时不限制近似迭代函数值得大小,编写程序运行结果为:极小点(s)迭代次数搜索区间误差函数值误差0.501690.04260.0006从结果可以看出迭代次数为次,极小点为,极小点的函数值为。根据人工手算,极小值点应该为,所以在设计程序的时候添加函数值误差范围,并取范围为。编写的设计函数程序并调试改正如下:function[s,fs,k,G,FX,E]=go
2、ld(f,a,b,H,F)%输入:%f:目标函数,a:搜索区间左侧端点;b:搜索区间右侧端点;%H:搜索区间允许范围;F:搜索区间函数值允许范围;%输出:%s:近似极小值点:fa:近似极小点数值;k:迭代次数:%FX:近似迭代函数值;E=[h,fh],h为近似区间误差,fh为函数值误差t=(sqrt(5)-1)/2;h=b-a;p=a+(1-t)*h;q=a+t*h;fa=feval(f,a);fb=feval(f,b);fp=feval(f,p);fq=feval(f,q);k=1;G(k,:)=[a,p,q,b];%初始时错误语句:G(1,:)=[a,p,q,b];%
3、初始调试的时候没有注意到后面需要开辟k行空间FX(k,:)=[fa,fp,fq,fb];while(abs(fa-fb)>F)((b-a)>H)if(fp4、(1-t)*h;fp=feval(f,p);%初始调试的时候对0.618方法没有充分理解所以出现错误endk=k+1;G(k,:)=[a,p,q,b];%初始时错误语句:G(1,:)=[a,p,q,b];%初始调试的时候没有注意到前面已经开辟k行空间FX(k,:)=[fa,fp,fq,fb];endif(fp5、(inline('s^2-s-1'),-1,1,0.05,1e-10)回车之后得到如下数据结果:极小点极小点数值迭代次数搜索区间误差函数值误差0.500-1.250024附:在窗口中输出的结果如下>>[s,fs,k,G,FX,E]=gold(inline('s^2-s-1'),-1,1,0.05,1e-10)s=0.5000fs=-1.2500k=24G=-1.0000-0.23610.23611.0000-0.23610.23610.52791.00000.23610.52790.70821.00000.23610.41640.52790.70820.41640.527
6、90.59670.70820.41640.48530.52790.59670.41640.45900.48530.52790.45900.48530.50160.52790.48530.50160.51160.52790.48530.49530.50160.51160.49530.50160.50540.51160.49530.49920.50160.50540.49530.49770.49920.50160.49770.49920.50010.50160.49920.50010.50060.50160.49920.49970.50010.50060.49970.5001
7、0.50030.50060.49970.50000.50010.50030.49970.49990.50000.50010.49990.50000.50000.50010.50000.50000.50000.50010.50000.50000.50000.50000.50000.50000.50000.50000.50000.50000.50000.5000FX=1.0000-0.7082-1.1803-1.0000-0.7082-1.1803-1.2492-1.0000-1.1803-1.2492-1.2067-1.0000