www.gusucode.com > mbcdesign 工具箱 matlab 源码程序 > mbcdesign/@cset_fullfact/cset_fullfact.m
function obj=cset_fullfact(varargin) % CSET_FULLFACT Full Factorial Design generator object % % OBJ=CSET_FULLFACT % OBJ=CSET_FULLFACT(CS) % OBJ=CSET_FULLFACT(STRUCT) % OBJ=CSET_FULLFACT(OPTS) % OBJ=CSET_FULLFACT(CS,OPTS) % % Where OPTS={{LIMITS}, [N_LEVELS], N_CENTER}; % Copyright 2000-2004 The MathWorks, Inc. and Ford Global Technologies, Inc. if nargin==2 cs= varargin{1}; lims= cat(1,varargin{2}{1}{:}); cs= limits(cs,lims); obj.Nc= varargin{2}{3}; obj.grid=cset_grid(cs,i_createlvlvect(lims, varargin{2}{2})); elseif nargin==1 if isa(varargin{1},'candidateset') cs= varargin{1}; lims=limits(cs); nf=size(lims,1); obj.Nc= 0; lvls=repmat(2,1,nf); obj.grid=cset_grid(cs,i_createlvlvect(lims,lvls)); elseif isa(varargin{1},'struct') cs= varargin{1}.candidateset; cs= rmfield(cs,'candidateset'); else lims= cat(1,varargin{1}{1}{:}); cs= candidateset(lims); obj.Nc= varargin{1}{3}; obj.grid=cset_grid(cs,i_createlvlvect(lims,varargin{1}{2})); end else % No inputs - use defaults cs= candidateset(repmat([-1 1],4,1)); obj.Nc= 0; obj.grid=cset_grid(cs,repmat({[-1 1]},1,4)); end obj.version= 1; obj= class(obj,'cset_fullfact',cs); return function lvls= i_createlvlvect(lims,nlvl) nf=length(nlvl); lvls=cell(1,nf); for n=1:nf lvls(n)={linspace(lims(n,1), lims(n,2), nlvl(n))}; end return