www.gusucode.com > mbcdesign 工具箱 matlab 源码程序 > mbcdesign/@xregdesign/changeType.m
function dout = changeType(d,Type) %CHANGETYPE change type of design % % dout = changeType(d,Type) % Copyright 2007-2011 The MathWorks, Inc. if strcmp(Type, 'User-defined') % user-defined design dout=DesignType(d,0,Type); elseif isoptimcapable(d) && any( strcmp(Type,{'D-optimal','V-optimal','A-optimal'}) ) % optimal d=setoptimiser(d,lower(Type)); dout=DesignType(d,1,Type); else % spacefilling or classical csI=csetinterface; %csI=set(csI,'typefilter',opt); csI=set(csI,'nffilter',nfactors(d)); % space filling csI=set(csI,'typefilter',1); createlist=get(csI,'classnames'); viewlist=get(csI,'fullnames'); % classical csI=set(csI,'typefilter',2); viewlist= [viewlist; get(csI,'fullnames')]; createlist=[createlist; get(csI,'classnames')]; dout = d; Index = find( strcmp( Type,viewlist ) ); if ~isempty(Index) % constructor for new cset cs = feval(createlist{Index},toCandidateSet(candspace(d))); cs = reset(cs); cs = generate(cs); [~,~,tp]= CandidateSetInformation(cs); d = factorsettings(d,zeros(0,nfactors(d))); if tp==2 dout = ClassicDesign(d,cs,NextDesignMode(d),'constrain'); elseif tp==1 dout = SpaceFillDesign(d,cs,NextDesignMode(d),'constrain'); end else error(message('mbc:doe:InvalidType1')) end end