www.gusucode.com > mbcdesign 工具箱 matlab 源码程序 > mbcdesign/@cset_ccd/fullset.m
function out=fullset(obj) % FULLSET Return the full list of candidate points % % LIST=FULLSET(OBJ) returns the full list of points in the % candidate set. % % Copyright 2000-2004 The MathWorks, Inc. and Ford Global Technologies, Inc. % Created 15/11/2000 lims=limits(obj.candidateset)'; nf=size(lims,2); cp=centerpoint(obj.candidateset); % center points first out(:,:)=repmat(cp ,npoints(obj), 1); % note that the center points are needed for star points too if obj.inscribe % inscribe: % 2^nf cube corners at [min max of range/alpha] % 2*nf star points at [min max] % ndgrid for cube corners cubelims=num2cell((repmat(cp,2,1)+(repmat(diff(lims,1,1),2,1)./([-2*obj.Alpha; 2*obj.Alpha])))',2); if nf>1 % Generate N-D grid for evaluation [X{1:nf}]=ndgrid(cubelims{:}); else X=cubelims; end alphlims=lims; else % circumscribe: % 2^nf cube corners at [min max] % 2*nf star points at [min max of range*alpha] % alpha limits for star points alphlims=(repmat(cp,2,1)+(repmat(diff(lims,1,1),2,1).*([-0.5*obj.Alpha; 0.5*obj.Alpha]))); % ndgrid for cube corners lims=num2cell(lims',2); if nf>1 % Generate N-D grid for evaluation [X{1:nf}]=ndgrid(lims{:}); else X=lims; end end st=obj.Nc+1; ind=st:st+2^nf-1; st=st+2^nf; % do cube and star points in same loop for n=1:nf out(ind,n)= X{n}(:); out(st+2*(n-1)+(0:1),n)=alphlims(:,n); end return