www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@localsurface/localsurface.m
function u=localsurface(param,nf) % LOCALSURFACE userdefined local model % % L3 = localsurface(param) % % Parents - model % - localmod % % Copyright 2000-2008 The MathWorks, Inc. and Ford Global Technologies, Inc. % Object properties u.version=3; u.userdefined = []; if nargin==0 u.userdefined = xregCreateModel(@xregcubic,1,'order',2); m = xregmodel('nfactors', 1); LocMod= localmod; elseif isstruct(param) && isfield(param,'userdefined') % from loadobj u.userdefined = param.userdefined; if isfield(param,'localmod') % get localmod from structure LocMod= localmod(param.localmod); else LocMod= localmod; end if isfield(param,'xregmodel') % get xregmodel from structure m = param.xregmodel; else m = xregmodel('nfactors', nfactors(u.userdefined)); end elseif nargin==1 && isa(param,'xregmodel') % L = localsurface(model); u.userdefined = param; m = xregmodel('nfactors',nfactors(param)); LocMod= localmod; elseif nargin==2 && strcmp(param,'nfactors') % L = localsurface('nfactors',nf) u.userdefined = xregCreateModel(@xregcubic,nf,'order',2*ones(1,nf)); m = xregmodel('nfactors',nf); LocMod= localmod; else error(message('mbc:localsurface:InvalidArguments')) end u=class(u,'localsurface',LocMod,m); if numfeats(u)==0 np = numParams(u.userdefined); nf = nfactors(u); u = AddFeat(u,zeros(np,nf),1:np); end