qujian.m

来自「非常经典的最优化程序」· M 代码 · 共 19 行

M
19
字号
%进退法
function result=qujian(y,ar)
t0=0; dex=1;M_count=0;S_count=0;
t1=t0+dex;S_count=S_count+1;
ft0=subs(y,{ar},{t0});M_count=M_count+14;S_count=S_count+4;
ft1=subs(y,{ar},{t1});M_count=M_count+14;S_count=S_count+4;
if(ft1<=ft0)
    dex=2*dex;t2=t1+dex;ft2=subs(y,{ar},{t2});M_count=M_count+15;S_count=S_count+5;
    while(ft1>ft2)
        t1=t2;dex=2*dex;t2=t1+dex;ft1=subs(y,{ar},{t1});ft2=subs(y,{ar},{t2});M_count=M_count+29;S_count=S_count+9;
    end
else 
        dex=dex/2;t2=t1;t1=t2-dex;ft1=subs(y,{ar},{t1});M_count=M_count+15;S_count=S_count+5;
    while(ft1>ft0)
        dex=dex/2;t2=t1;t1=t2-dex;ft1=subs(y,{ar},{t1});M_count=M_count+15;S_count=S_count+5;
    end
end
result=[t2,M_count,S_count];
        

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?