armijo.m

来自「这次上传的绝对是好东西」· M 代码 · 共 26 行

M
26
字号

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%  Armijo Line Search
function [alphak,fk2,wfnum,wgnum]=armijo(n,m,xk,dk,fk,gk,nprob)
         rho1=0.5;rho2=0.6;sigma1=.001;sigma2=0.05;
        % fk1=objfcn(n,m,xk,nprob);
         %gk1=grdfcn(n,m,xk,nprob);gk1'*dk;
         wfnum=0;wgnum=0;
         %step 0
         fk1=fk;
         gk1=gk;
         i=0;
         %fk2=0;
         while 1
              alphak=rho1^i;
             % pause
             fk2=objfcn(n,m,xk+alphak*dk,nprob);
             wfnum=wfnum+1;
            % gk2=grdfcn(n,m,xk+alphak*dk,nprob);wgnum=wgnum+1;
             if fk2-fk1<=sigma1*alphak*gk1'*dk
                 
                     break;
                 else
                     i=i+1;
                 end
         end

⌨️ 快捷键说明

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