www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@localmulti/localmulti.m

    function L = localmulti(varargin)
%LOCALMULTI Constructor for localmulti models
%
%  M = LOCALMULTI constructs a model that tries multiple models and selects
%  'best' fit.

%  Copyright 2000-2015 The MathWorks, Inc. and Ford Global Technologies, Inc.

if nargin && isstruct(varargin{1})
    Ls= varargin{1};
    L = localmulti;
    L.xregmulti= Ls.xregmulti;
    L.localmod= Ls.localmod;
    if Ls.version==1
        L.Select = Ls.Select;
        L.ReconModel = Ls.ReconModel;
        nmdls= get(L.xregmulti,'nmodels');
        L.SelectionStatistic=NaN(nmdls,1);
    end
else
    switch nargin
        case 0
            nf = 2;
        case 1
            nf = nfactors(varargin{1});
        case 2
            nf = varargin{2};
    end

    L.Select = 'PRESS RMSE';
    L.ReconModel = 1;
    L.AutoCodeRange= true;
    L.SelectionStatistic= [];
    L.version = 3;

    BaseModel = xregmulti('nfactors',nf);
    
    locMod= localmod;
    L = class(L,'localmulti',locMod,BaseModel);
    L.Select = 'PRESS RMSE';
    L = addSummaryStats(L,{'PRESS RMSE'});
    
    [~,Defaults,Values] = features(L);
    L = AddFeat(L,Values,Defaults);
end