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

    function p=localpoly(a,vals,types)
% LOCALPOLY Polynomial class constructor

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



p.version=3;
if nargin==0
   ml = xreglinear([-1 -2 -1],1);
   LocMod= localmod;
elseif isa(a,'localpoly')
   p=a;
   return
elseif isstruct(a)
	[LocMod,ml]= i_Update(a);
elseif nargin==2 && strcmp(a,'nfactors')
    % L = localpoly('nfactors',nf)
    if vals~=1
        error(message('mbc:localpoly:InvalidValue'));
    end
    ml = xreglinear([-1 -2 -1],1);
    LocMod= localmod;
    vals=zeros(3,1);
    types=[3 1 2];
else
   ml = xreglinear(a,1);
   LocMod= localmod;
end   
p=class(p,'localpoly',LocMod,ml);

if nargin<=1
   n=order(p)+1;
   vals=zeros(n,1);
   types=[n 1:n-1];
end

if ~isempty(vals)
   p=AddFeat(p,vals,types);
end


function [LocMod,ml]= i_Update(a)

if ~isfield(a,'localmod')
	LocMod= localmod;
else
	LocMod= localmod(a.localmod);
end
if ~isfield(a,'xreglinear')
	ml= xreglinear;
else
	ml= xreglinear(a.xreglinear); 
end