a.m

来自「matlab中GUI界面来实现运筹学中常用的几种最优算法」· M 代码 · 共 37 行

M
37
字号
function [x,y,time]=golden_section_meassure(fun,a,b,ess)

if nargin<4
    ess=0.00001
end

t1=a+0.382*(b-a);
t2=a+b-t1;
tic
while abs(fun(a)-fun(b))>ess
   
    if feval(fun,t1)>feval(fun,t2)
        
        if b-t1<ess
            x=t2;
            break;
        else
           a=t1;
           t1=t2;
           t2=a+b-t1;
       end
       
   else
       
       if t2-a<ess
           x=t1
           break
       else
           b=t2
           t2=t1
           t1=a+b-t2
       end
   end 
end 

time=toc
y=fun(x)

⌨️ 快捷键说明

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