www.gusucode.com > mbc 工具箱 matlab 源码程序 > mbc/@mbcmodel/@linearmodelproperties/SetTermStatus.m

    function obj = SetTermStatus(obj, terms, status)
%SETTERMSTATUS Set the status of terms in this model
%
%   P = SETTERMSTATUS(P, TERMS, STATUS )
% 
% See also mbcmodel.linearmodelproperties.GetTermLabel,
% mbcmodel.linearmodelproperties.GetTermStatus

%   Copyright 2006-2011 The MathWorks, Inc.

persistent enum
if isempty(enum)
    enum = findtype('xregmodelparameters.linearmodel.stepwisestatus');
end


% Ensure last arg is a cell array of the right size
if ischar(status),
    status = {status};
end
if ~iscell(status),
    error( 'mbc:mbcmodel:linearmodelproperties:SetTermStatus:InvalidValue',...
        'STATUS must be a cell array of status strings.' );
end
% Check that strings are OK
if any( ~ismember( status, enum.Strings ) ),
    valid_strings = ['''', enum.Strings{1}, ''''];
    for ii=2:numel(enum.Strings),
        valid_strings = [valid_strings, ', ''', enum.Strings{ii}, ''''];
    end
    error(message('mbc:mbcmodel:linearmodelproperties:SetTermStatus:InvalidValue1', valid_strings));   
end
% Convert to values
statusnum = zeros(numel(status),1);
for ii=1:numel(status),
    statusnum(ii) = enum.Values(ismember(enum.Strings, status{ii}));
end

m = obj.Object;

% Now try to set into the model and reset
m = setstatusbyname(m,terms,statusnum) ;
obj.Object = reset(m );

if nargout==0
    % assign back to 
    obj.Model.Properties = obj;
    warning(message('mbc:mbcmodel:Obsolete7a3'))
end