www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@xregunispline/xregunispline.m
function S= xregunispline(varargin) % XREGUNISPLINE a univariate spline model with free knots % % S= xregunispline; % S= xregunispline('nfactors',1); % S= xregunispline(order,knots,var); % Copyright 2000-2007 The MathWorks, Inc. and Ford Global Technologies, Inc. if nargin < 1 varargin= {3,0,xregcubic([]),1,1,'N'}; end if nargin && ischar(varargin{1}) switch lower(varargin{1}) case 'nfactors' if varargin{2}>1 error(message('mbc:xregunispline:InvalidArgument2')); else S=xregunispline; return end end end if nargin ==1 && isa(varargin{1},'xreg3xspline'); m=varargin{1}; basemodel= xregCreateModel(@xregmodel,m); % put transform in base model yt= get(m,'ytrans'); set(m,'ytrans',''); set(basemodel,'ytrans',yt); else m= xreg3xspline(varargin{:}); basemodel= xregmodel('nfactors', 1); end S.version=1.0; S.FitOptions.Algorithm='LSQnonlin'; S.FitOptions.Param.Max_Knots = 1; S.FitOptions.Param.Init_Pop = 15; S.FitOptions.Param.Percent_Opt = 8; S.FitOptions.Param.Max_Iter = 150; S.FitOptions.Param.Max_Func = 150; S.FitOptions.Param.Bit_Len = 16; S.FitOptions.Param.Max_Gen = 50; S.FitOptions.Param.Jupp = 0; S.mv3xspline=m; S=class(S,'xregunispline',basemodel);