domen0.m
来自「一些优化的源代码」· M 代码 · 共 41 行
M
41 行
function t=domen0(a,b) %[a,b]为初始区间 t:极小值点
clc;
e=0.001;
a0=a;
b0=b;
lamda=0.618033989;
rafa1=a0+(1-lamda)*(b0-a0);
rafa2=a0+lamda*(b0-a0);
y1=fai(rafa1);
y2=fai(rafa2);
for i=1:inf
if(y1<=y2)
if((rafa2-a0)<=e)
t=rafa1;
break;
else
a0=a0;
b0=rafa2;
rafa2=rafa1;
y2=y1;
rafa1=a0+(1-lamda)*(b0-a0);
y1=fai(rafa1);
end
else
if((b0-rafa1)<=e)
t=rafa2;
break;
else
a0=rafa1;
b0=b0;
rafa1=rafa2;
y1=y2;
rafa2=a0+lamda*(b0-a0);
y2=fai(rafa2);
end
end
end
y=fai(t)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?