fpart618.m

来自「多变量寻优的源码」· M 代码 · 共 27 行

M
27
字号
function y=fpart618(x,s)
%  x是当前点,向量
%  s是当前梯度方向,向量
a=-10;
b=10;   
e=0.0001;
%l=(a+b)/2;

%for i=1:10
while(1)
l=b-a;
x1=a+0.382*l;
x2=b-0.382*l;
y1=fm(x+x1*s);
y2=fm(x+x2*s);
if(y1>y2)
    a=x1;
    y=x2;
else
    b=x2;
    y=x1;
end
%if abs(y1-y2)<e  不用函值判断这如函很殊话
if  abs(b-a)<e
    break;
end
end

⌨️ 快捷键说明

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