• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-01-01
  • 语言: 其他
  • 标签: matlab  变尺度法  

资源简介

变尺度法的dfp算法,包括确定搜索区间和步长,适合二元二次的目标函数

资源截图

代码片段和文件信息

syms x1 x2 t tt e;
f = 4*(x1 - 5).^2+(x2 - 6).^2;
x = [x1;x2];
df = (jacobian(f[x1;x2]))‘;
xx0 = [8;9];                      %定义初值
H0 = [1 0 ;0 1];                  %取Hesse矩阵为单位阵,此时的步长为最速下降法的步长
A=fs2hesse(fx1x2);
e=0.01;
times=0;
g0 = subs(dffindsym(x)xx0);
t = (g0‘*g0)/(g0‘*A*g0);
while (norm(double(g0))>e)
    if times==0       
        p = -H0*g0;      
    else
        H1 = H0+(S0*S0‘)/(S0‘*y0)-(H0*y0*y0‘*H0)/(y0‘*H0*y0);
        p = -H1*g0;
    end
    xx1 = xx0 + t.*p;
    xxx1 = xx0 + tt.*p;
    Ft = subs(ffindsym(x)xxx1);
    [left right] = search_interval(Fttt);       %一维搜索法--搜索区间
    t = golden_div(Ftttleftright);            %黄金分割法--搜索步长
    g1 = subs(dffindsym(x)xx1);
    S0 = xx1-xx0;
    y0 = g1-g0;     
    xx0 = xx1;
    g0 = g1;
    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        898  2013-04-26 12:19  dfp\dfp.m

     文件        274  2013-04-24 16:47  dfp\fs2hesse.m

     文件        665  2013-04-25 11:49  dfp\golden_div.m

     文件        833  2013-04-25 21:55  dfp\search_interval.m

     目录          0  2013-04-28 10:51  dfp

----------- ---------  ---------- -----  ----

                 2670                    5


评论

共有 条评论