www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@xregmulti/xregmulti.m
function m= xregmulti(varargin) % XREGMULTI Constructor for xregmulti object % % M=XREGMULTI creates an multi-model object containing a single % xregcubic object. % M=XREGMULTI('nfactors',N) creates an object with N factors. % M=XREGMULTI(S) where S is a struct creates an object from % the structure S. % % Copyright 2000-2015 The MathWorks, Inc. and Ford Global Technologies, Inc. % Created 25/5/2000 if nargin && isstruct(varargin{1}) m=varargin{1}; mdl = m.xregmodel; m= rmfield(m,'xregmodel'); else if nargin switch lower(varargin{1}) case 'nfactors' nf=varargin{2}; end else nf=4; end m.currentindex=1; % default models mpoly = xregCreateModel(@xregcubic,nf); % quadratic m2 = set(mpoly,'order',2*ones(1,nf)); m2 = setFitOpt(m2,minpress(m2)); % cubic m3 = set(mpoly,'order',3*ones(1,nf)); m3 = setFitOpt(m3,minpress(m3)); % create Hybrid RBF models with 1/3*nObs centers hrbf3 = xregCreateModel(@xreghybridrbf,nf); % GPM mgpr = xregCreateModel(@xreggpr,nf); mdls = {m2 m3 hrbf3 mgpr}; m.models=mdls; m.weights=ones(size(mdls))/length(mdls); m.version=2; mdl=xregmodel('nfactors',nf); end m=class(m,'xregmulti',mdl); return