fib.m

来自「单变量寻优基本算法的原码」· M 代码 · 共 46 行

M
46
字号
%采用fib序列法,单变量搜索
a=0;
b=1;
e=0.0005;
M=100;
%l=(a+b)/2;
xbest=0;
ybest=0;
tic
c1=1;
c2=2;

for i=1:M
    c3=c1+c2;
    c=c1/c3;
    
    c1=c2;
    c2=c3;
    
    l=b-a;
    if l<e
        break;
    end
    x1=a+c*l;
    
    x2=b-c*l;
    y1=f(x1);
    y2=f(x2);

    %for i=1:10
    if(y1>y2)
       a=x1;
       ybest=y2;
       xbest=x2;
    else
       b=x2;
       ybest=y1;
       xbest=x1;
    end
end

i
l
xbest
ybest
toc

⌨️ 快捷键说明

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