最优化方法及其matlab程序设计 马昌凤版 课后答案 杭电课件
2第二章线搜索算法-P27习题2、4、6
黄金0.618算法:
function[s,phis,k,G,E]=golds(phi,a,b,delta,epsilon)%输入:phi是目标函数,a,b是搜索区间的两个端点%delta,epsilon分别是自变量和函数值的容许误差
%输出:s,phis分别是近似极小点和极大值,G是n×4矩阵,%其第k行分别是a,p,q,b的第k次迭代值ak,pk,qk,bk,%E=[ds,dphi],分别是s和phis的误差限%%%%%%%%%%t=(sqrt(5)-1)/2;h=b-a;
phia=feval(phi,a);phib=feval(phi,b);
p=a+(1-t)*h;q=a+t*h;phip=feval(phi,p);phiq=feval(phi,q);k=1;G(k,:)=[a,p,q,b];
while(abs(phib-phia)>epsilon)|(h>delta)if(phip<phiq)
b=q;phib=phiq;q=p;phiq=phip;h=b-a;p=a+(1-t)*h;phip=feval(phi,p);else
a=p;phia=phip;p=q;phip=phiq;h=b-a;q=a+t*h;phiq=feval(phi,q);end
第2题:
4