www.gusucode.com > mbcdesign 工具箱 matlab 源码程序 > mbcdesign/@cset_grid/cset_grid.m
function obj=cset_grid(varargin) % CSET_GRID Grid CandidateSet generator object % % OBJ=CSET_GRID % OBJ=CSET_GRID(CS) % OBJ=CSET_GRID(STRUCT) % OBJ=CSET_GRID(OPTS) % OBJ=CSET_GRID(CS,OPTS) % % Where OPTS=Lvls % Copyright 2000-2008 The MathWorks, Inc. and Ford Global Technologies, Inc. if nargin==2 cs=varargin{1}; obj.levels=varargin{2}; elseif nargin==1 if isa(varargin{1},'candidateset') cs=varargin{1}; nf=nfactors(cs); lims=limits(cs); if nf<=4 lvls = 0:.05:1; else lvls=linspace(0,1,max(2,round(1e6^(1./nf)))); end obj.levels = cell(nf,1); for n=1:nf obj.levels(n,1)={lims(n,1)+lvls.*diff(lims(n,:),1,2)}; end elseif isa(varargin{1},'struct') cs=varargin{1}.candidateset; cs=rmfield(cs,'candidateset'); else obj.levels=varargin{1}; mm=zeros(length(obj.levels),2); for n=1:length(obj.levels) mm(n,:)=[min(obj.levels{n}) max(obj.levels{n})]; end cs=candidateset(mm); end else cs=candidateset(repmat([-1 1],4,1)); obj.levels=repmat({-1:.1:1},4,1); end obj.version=1; obj=class(obj,'cset_grid',cs); return