一维无约束优化算法——进退法

来源:互联网 发布:工作日志管理系统源码 编辑:程序博客网 时间:2024/05/15 05:45

 

function [minx,maxx]=minJT(f,x0,h0)

%进退法求极值区间

%2011/5/14

%目标函数:f

%初始点x0

%初始步长h0;

format long;

x1=x0;

k=0;

h=h0;

while 1

    x4=x1+h;

k=k+1;

f4=subs(f,findsym(f),x4);

f1=subs(f,findsym(f),x1);

if f4<f1

  x2=x1;

  x1=x4;

  f2=f1;

  f1=f4;

  h=h*2;

   else

      if k==1 

   h=-h;

x2=x4;

f2=f4;

else

        x3=x2;

x2=x1;

x1=x4;

break;

end

   end

end

minx=min(x1,x3);

maxx=x1+x3-minx;

format short;

 

 

 

原创粉丝点击