www.gusucode.com > mbcdesign 工具箱 matlab 源码程序 > mbcdesign/@cset_sobolset/set.m

    function obj = set(obj, param, value)
%SET Set candidate set parameters
%
%   OBJ=SET(OBJ,PARAM, VALUE)
%
%   PARAM may be one of:
%
%       Skip
%       SkipMode
%
%   See also: CSET_POINTSET/SET.

%  Copyright 2007 The MathWorks, Inc.

switch lower(param)
    case 'skip'
        ps = get(obj.cset_pointset, 'PointSet');       
        ps.Skip = value;
        obj.cset_pointset = set(obj.cset_pointset, 'PointSet', ps);
        if value
            obj.SkipMode = 3;   % Custom skip
        else
            obj.SkipMode = 0;   % None
        end
        
    case 'skipmode'
        ps = get(obj.cset_pointset, 'PointSet');
        obj.SkipMode = value;
        switch value
            case 0
                Skip = 0;
            case 1
                Skip = 1;
            case 2
                Skip = 1;
                NP = get(obj, 'N');
                while Skip<NP
                    Skip = Skip*2;
                end
            otherwise
                % don't alter skip
                Skip = ps.Skip;
        end
        ps.Skip = Skip; 
        obj.cset_pointset = set(obj.cset_pointset, 'PointSet', ps);
        
    case 'n'
        if obj.SkipMode==2
            % Adjust the skip
            Skip = 1;
            while Skip<value
                Skip = Skip*2;
            end
            ps = get(obj.cset_pointset, 'PointSet');
            ps.Skip = Skip;
            obj.cset_pointset = set(obj.cset_pointset, 'PointSet', ps);
        end
        obj.cset_pointset = set(obj.cset_pointset, 'n', value);
        
    otherwise
        obj.cset_pointset = set(obj.cset_pointset, param, value);
end