matlab 黄金分割算法

来源:互联网 发布:天气软件 编辑:程序博客网 时间:2024/06/10 01:55
function y=fungold(a)y=a^2+2*a;end
function goldminclear;clc;a=-3;b=5;tolerance=0.01;n=0;i=100;for k=1:i    if(abs(b-a)<=tolerance)        break;    else        a1=b-0.618*(b-a);        a2=a+0.618*(b-a);        if (fungold(a1)>=fungold(a2))            a=a1;        else            b=a2;            y=fungold((b+a)/2);        end        n=n+1;    endendn,a0=(b+a)/2,y=fungold((b+a)/2)            end


0 0