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);