• 大小: 23KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-18
  • 语言: Matlab
  • 标签: matlab  最优化  

资源简介

最优化手写的matlab代码设计,包括变尺度法+步长加速+方向加速法+公轭梯度法

资源截图

代码片段和文件信息

%非精确直线搜索Armijo-Goldstein算法

function x=ArmGold(x0p0)
%x0 ----------------------- 初始点坐标
%p0 ----------------------- 初始搜索方向
%x ------------------------ 最优点坐标(所求点坐标)
g0=Grads(x0);
f0=objectiveFun(x0);
if(p0‘*g0)>= 0;
    disp(‘搜索方向已不是下降方向搜索方向改为其负方向!‘ )
    p0 =-p0;
end
t1=0;
t=norm(g0);
t2=nan;
s1=0.3*(p0‘*g0);          % 系数选择为 0.3
s2=0.7*(p0‘*g0);          %  1 - 0.3 = 0.7
M0=f0+t*s1;
x=x0+t*p0;
f=objectiveFun(x); 
while f>M0
    t2=t;
    t=(t1+t2)/2;
    M0=f0+t*s1;
    x=x0+t*p0;
    f=objectiveFun(x);
end
M1=f0+t*s2;
while f    t1=t;
    if t2        t=(t1+t2)/2;
    else 
        t=2*t;
    end
    M0=f0+t*s1;
    x=x0+t*p0;
    f=objectiveFun(x);
    while f>M0
        t2=t;
        t=(t1+t2)/2;
        M0=f0+t*s1;
        x=x0+t*p0;
        f=objectiveFun(x);
    end
    M1=f0+t*s2;
end
  

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

     文件        924  2004-05-19 00:26  matlab代码\222\共轭梯度法\ArmGold.m

     文件        372  2004-05-17 00:51  matlab代码\222\共轭梯度法\Armijo.m

     文件       4943  2004-06-01 17:22  matlab代码\222\共轭梯度法\ConjGrad.m

     文件        286  2004-05-16 15:48  matlab代码\222\共轭梯度法\Grads.m

     文件        540  2004-05-24 19:08  matlab代码\222\共轭梯度法\LineSearch.m

     文件       4955  2004-05-24 20:28  matlab代码\222\共轭梯度法\main.m

     文件        708  2004-05-24 19:07  matlab代码\222\共轭梯度法\ModifyCoefficient.m

     文件        345  2004-05-30 16:00  matlab代码\222\共轭梯度法\objectiveFun.m

     文件        140  2004-05-19 17:59  matlab代码\222\共轭梯度法\objectiveFun_1.m

     文件        716  2004-05-26 10:49  matlab代码\公轭梯度法\getd.m

     文件         71  2003-05-10 16:22  matlab代码\公轭梯度法\getdfun.m

     文件        156  2004-05-04 10:34  matlab代码\公轭梯度法\getdgfun.m

     文件       1775  2004-05-26 09:51  matlab代码\公轭梯度法\getdgran.m

     文件        222  2004-05-26 10:50  matlab代码\公轭梯度法\main.m

     文件        226  2004-05-04 19:58  matlab代码\公轭梯度法\s1.m

     文件        961  2004-05-04 09:22  matlab代码\公轭梯度法\s2.m

     文件      26488  2004-05-25 14:03  matlab代码\公轭梯度法\zgh3.fig

     文件       6869  2004-05-26 10:19  matlab代码\公轭梯度法\zgh3.m

     文件        108  2004-05-25 14:14  matlab代码\公轭梯度法\zrf_loop.m

     文件       1751  2003-05-10 19:04  matlab代码\变尺度法\bcd.m

     文件         65  2003-05-10 16:13  matlab代码\变尺度法\fun.m

     文件        148  2003-05-10 19:04  matlab代码\变尺度法\gfun.m

     文件        706  2004-05-26 10:00  matlab代码\变尺度法\main.m

     文件        208  2003-05-10 15:32  matlab代码\变尺度法\s1.m

     文件        949  2003-05-10 18:21  matlab代码\变尺度法\s2.m

     文件        247  2004-05-04 21:51  matlab代码\方向加速法\fm.m

     文件        204  2004-05-04 21:52  matlab代码\方向加速法\fun.m

     文件        493  2004-05-04 21:52  matlab代码\方向加速法\hh.m

     文件        788  2003-05-10 19:40  matlab代码\方向加速法\main.m

     文件       2384  2003-05-10 19:28  matlab代码\方向加速法\powell.m

............此处省略17个文件信息

评论

共有 条评论