ndРendР%得到高低高的区间Рa=min(h1,h3);Рb=max(h1,h3);Р%利用黄金分割点法进行求解Рh1=1+0.382*(b-a);Рh2=1+0.618*(b-a);Рf1=fh(x0,h1,s,r);Рf2=fh(x0,h2,s,r);Рwhile abs(a-b)>0.0001Р if f1>f2Р a=h1;Р h1=h2;Р f1=f2;Р h2=a+0.618*(b-a);Р f2=fh(x0,h2,s,r); Р elseР b=h2;Р h2=h1;Р f2=f1;Р h1=a+0.382*(b-a);Р f1=fh(x0,h1,s,r);Р endРendРh=0.5*(a+b);Р4. 迭代点的寻优函数Рfunction f=fsearchx(x0,r,epson)Рx00=x0;Рm=length(x0);Рs=zeros(m,1);Рfor i=1:mР s(i)=1;Р h=fsearchh(x0,r,s);Р x1=x0+h*s;Р s(i)=0;Р x0=x1;РendРwhile norm(x1-x00)>epson Р x00=x1;Р for i=1:mР s(i)=1;Р h=fsearchh(x0,r,s);Р x1=x0+h*s;Р s(i)=0;Р x0=x1;Р endРendРf=x1;Р5. 主程序РclearРclcРx0=[2;2]; %给定初始点Рr=1;Рc=0.1;Рepson=0.001;Рx1=fsearchx(x0,0.1,epson);Рwhile norm(x0-x1)>epsonР x0=x1;Р r=r*c;Р x1=fsearchx(x0,r,epson) ; РendРdisp '函数的最优解为'Рx1Р Р运行结果:Р函数的最优解为Рx1 =Р 1.0475Р -0.0005