www.gusucode.com > mbcdesign 工具箱 matlab 源码程序 > mbcdesign/@cset_pointset/cset_pointset.m
function obj = cset_pointset(varargin) %CSET_POINTSET Pointset object candidate set wrapper % % OBJ=CSET_POINTSET % OBJ=CSET_POINTSET(CS) % OBJ=CSET_POINTSET(STRUCT) % OBJ=CSET_POINTSET(OPTS) % OBJ=CSET_POINTSET(CS,OPTS) % % Where OPTS={{LIMITS},NPoints} % Copyright 2007 The MathWorks, Inc. if nargin==1 && isstruct(varargin{1}) obj = varargin{1}; cs = obj.candidateset; obj = rmfield(obj, 'candidateset'); else [cs, N] = i_getInputArgs(varargin{:}); obj.NPoints = N; obj.PointSet = []; % Scrambling can either be done immediately or postponed until a call % to generate is made. By default no caching takes place and the % candidateset is always generated. obj.ScrambleCache = []; obj.UseScrambleCache = false; end obj.version = 1; obj = class(obj,'cset_pointset',cs); % Parse input arguments function [cs, N] = i_getInputArgs(varargin) N = 10000; % Default number of points if nargin==2 cs = varargin{1}; lims = cat(1,varargin{2}{1}{:}); cs = limits(cs,lims); N = varargin{2}{2}; elseif nargin==1 if isa(varargin{1},'candidateset') cs = varargin{1}; else lims = cat(1,varargin{1}{1}{:}); cs = candidateset(lims); N = varargin{1}{2}; end else cs= candidateset(repmat([-1 1],4,1)); end