📄 armijo.m
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -