www.gusucode.com > mbcdesign 工具箱 matlab 源码程序 > mbcdesign/@designdev/units.m

    function f= units(D,Stage,NewNames)
% DESIGNDEV/UNITS
% 
% f= units(D,Stage);
% D= units(D,Stage,NewNames);

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



d= DesignDev2Cell(D);
if nargin>1
	d= d(Stage);
end
if nargin<=2;
	f= {};
	for i=1:length(d)
		des= d{i}.DesignTree.designs{1};
		m= model(des);
        Inputs = getInputs(m);
        u = getList(Inputs,'Units');
		f= [f; u(:)];
	end
else
	Dall= DesignDev2Cell(D);
	d= Dall(Stage);
	k=1;
	for i=1:length(d)
		% update designtree models
		dtree= d{i}.DesignTree.designs;
		% base model
		m= model(dtree{1});
		n= nfactors(m);
		nm= NewNames(k:k+n-1);
        Inputs = setList(getInputs(m),'Units',nm);
		
		for j=1:length(dtree)
            md = setInputs(model(dtree{j}),Inputs);
			dtree{j}= model(dtree{j},md);
		end
		d{i}.DesignTree.designs= dtree;
		
		k= k+n;
	end
	Dall(Stage)= d;
	f= Cell2DesignDev(Dall);
end