example3_9.m
来自「Matlab 6.X辅助优化计算与设计----源代码」· M 代码 · 共 33 行
M
33 行
function [alp,lba,uba,ier]=getalp(alpu,alpo,gTp,pTGp);
lba=0;
uba=0;
% determine unboundedness
ier=0;
if alpu==-inf & ( pTGp<0 | (pTGp==0 & gTp>0) ),
ier=1; lba=1;
end;
if alpo==inf & (pTGp<0 | (pTGp==0 & gTp<0) ),
ier=1; uba=1;
end;
if ier, alp=NaN; return; end;
% determine activity
if pTGp==0 & gTp==0,
alp=0;
elseif pTGp<=0,
% concave case minimal at a bound
if alpu==-inf, lba=0;
elseif alpo== inf, lba=1;
else lba = (2*gTp+(alpu+alpo)*pTGp>0);
end;
uba = ~lba;
else
alp=-gTp/pTGp; % unconstrained optimal step
lba = (alp <= alpu); % lower bound active
uba = (alp >= alpo); % upper bound active
end;
if lba, alp=alpu; end;
if uba, alp=alpo; end;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?