golden.asv
来自「matlab中GUI界面来实现运筹学中常用的几种最优算法」· ASV 代码 · 共 49 行
ASV
49 行
function [x_label,y_label,time]=golden(fun,a,b,ess,tt)
if nargin<5
tt=100;
end
if nargin<4
ess=0.00001
end
t1=a+0.382*(b-a);
t2=a+b-t1;
%sub=feval(fun,a)-feval(fun,b)
%sub=abs(sub)
k=1
tic
while k<=tt
if feval(fun,t1)>feval(fun,t2)
if b-t1<ess
x_label=t2
break;
else
a=t1
t1=t2;
t2=a+b-t1;
k=k+1;
end
else
if t2-a<ess
x_label=t1
break
else
b=t2
t2=t1
t1=a+b-t2
k=k+1
end
end
%sub=feval(fun,a)-feval(fun,b)
%sub=abs(sub)
end
k
time=toc
y_label=feval(fun,x_label)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?