www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@xregmodel/modeldev.m
function pm= modeldev(m,p_mdev,OpenDialog,doRefit) %MODELDEV creates new MODELDEV object with same type of model % % pm= modeldev(m,p_mdev); % Used for creating children of one-stage and global (RF models) % Copyright 2000-2015 The MathWorks, Inc. and Ford Global Technologies, Inc. if nargin < 3 OpenDialog = false; end if nargin<4 doRefit = true; end if OpenDialog OldModel = reset(m); [NewModel,ok] = gui_ModelSetup(OldModel); if ~ok pm = xregpointer; return end IsSameModel = isequal(OldModel,NewModel); if ~IsSameModel m = NewModel; end else IsSameModel = isequal(m,p_mdev.model); end % get Xglobal,Y Xglobal= p_mdev.dataptr('X'); Y= p_mdev.dataptr('Y'); % make model development object for Global Model mdev= modeldev(name(m),{m,Xglobal,Y,'global'}); % copy outliers down level pm= outliers(mdev,p_mdev.outliers); % add new child p_mdev.AddChild(pm.info); % make name unique pm.name(pm.name); if ~IsSameModel && doRefit % fit new model pm.refit; else % model is copied from parent so copy stats and status to child pm.statistics(p_mdev.statistics); pm.status(p_mdev.status~=0); end % set up modelstage: if parent mdev MS=0 then this is 1 stage % else this is a child of another global model => MS=MS of parent parentMS = p_mdev.modelstage; if parentMS==0 MS=1; else MS=parentMS; end pm.info=pm.modelstage(MS);