www.gusucode.com > mbctools 工具箱 matlab 源码程序 > mbctools/@mdev_local/tidytree.m

    function mdev= tidytree(mdev,mbH)
%TIDYTREE delete alternative models

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


InBrowser = isBrowserProject(mdev);
if nargin<2
    mbH = MBrowser;
end


if ~isempty(BestModel(mdev))
    
    bm= BMIndex(mdev);
    
	ind = mdev.ResponseFeatures(1,:);
	RF1= RFstart(model(mdev));
	if RF1
		ind= [1 1+ind];
	end
	% tidy best response features
	children(mdev,ind,@tidytree,mbH);
	mdev= info(mdev);
	% delete other response features
	delind= setdiff(1:numChildren(mdev),ind);
	ch=children(mdev);
    if InBrowser
        for i=delind;
            mbH.treeview(ch(i),'remove');
        end
    end
	children(mdev,delind,@delete);
    % update mdev from the heap
    mdev= info(mdev);
    
    if bm==1
        L= model(mdev);
        % rebuild two-stage model
        mdev.ResponseFeatures= 1:size(L,1);
        mdev= BestModel(mdev,1);
    end
    
else
	% tidy response feature models
	children(mdev,@tidytree,mbH);
end

mdev= info(mdev);
if InBrowser
   mbH.treeview(address(mdev),'select'); 
end