www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@xreglinear/setstatus.m
function m = setstatus(m,i,s) %SETSTATUS set status of term i to s % % m = setstatus(m,i,s) % i is index to term (Use ':' to specify all terms) % s is a vector of status (1='Always,2='Never',3='Step') % Copyright 2000-2007 The MathWorks, Inc. and Ford Global Technologies, Inc. m.TermStatus(i)= s; if ischar(i) && strcmp(i,':') % could be using scalar expansion i= 1:size(m,1); s= m.TermStatus; end j = s==1 | s ==2; if any(j) % update termsout if status == 1 or 2 if numel(i)==numel(s) m.TermsOut(i(j))= s(j)==2; % a term is out if status ==2 elseif isscalar(s) m.TermsOut(i)= s==2; % a term is out if status ==2 else error(message('mbc:xreglinear:InvalidIndex')) end % make coefficients zero if status == 2 m.Beta(m.TermStatus==2) = 0; end