www.gusucode.com > mbctools 工具箱 matlab 源码程序 > mbctools/@modeldev/modeldev.m
function mdev= modeldev(Name,ModelInfo) % MODELDEV general model development % % mdev= modeldev(Name,{m,X,Y,3}); % % modeldev is a child of tree. % Copyright 2000-2014 The MathWorks, Inc. and Ford Global Technologies, Inc. loadstr=0; p0=xregpointer; if nargin==0 Name= 'Model 1'; ModelInfo= {xreghybridrbf;struct('ptr',p0,'index',[]);struct('ptr',p0,'index',[]);'modeldev'}; loadstr=1; end if nargin==1 && isstruct(Name) mdev= Name; if mdev.Version==0 mdev.Version=1; if isa(mdev.Statistics,'xregpointer') mdev.Statistics=[]; end mdev.Version=1; mdev= mv_rmfield(mdev,{'Name','TreeIndex'}); end if mdev.Version<2 || ~isfield(mdev,'ModelStage') mdev.Version=3; mdev.ModelStage=-1; end if isfield(mdev,'tree') T= mdev.tree; mdev= rmfield(mdev,'tree'); else T= mdev.mctree; mdev= rmfield(mdev,'mctree'); end loadstr=1; elseif nargin==1 && isa(Name,'modeldev') mdev= Name; return else [Model,XData,YData,ViewIndex]= deal(ModelInfo{:}); % Valid data formats % xregpointer % struct('ptr',p0,'index',[]) mdev= struct(... 'Model',Model,... % Model Object 'X',XData,... % Do we need an index as well as a pointer? 'Y',YData,... % i.e. data= p.info(:,ind) 'Outliers',[],... % index to outliers 'Data',p0,... % Store for datum links 'Statistics',[],... % Summary Statistics 'Validation',[],... % data for validation - either X and Y data or a sweepsetfilter 'Status',0,... % 0= ~OK , 1=OK, 2= validated + ???? 'History',[],... % undecided for the moment (mainly for reports and undo) 'ViewIndex',ViewIndex,... % ViewIndex for Model Browser View 'BestModel',p0,... % pointer to best model 'Version',4,... 'ModelStage',-1); % for class maintenance T= mctree(Name); end mdev= class(mdev,'modeldev',T); if ~loadstr % store object in dynamic memory p= pointer(mdev); % must get a copy of the dynamic object (contains the pointer to self) mdev= p.info; end