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

    function p = designproperties(c,p,m)
%DESIGNPROPERTIES properties for command-line
%
% p = designproperties(c,p)

%  Copyright 2007-2008 The MathWorks, Inc.

CLSID = mfilename('class');
[p,OK] = PersistentStore(p,CLSID);
if ~OK
    p = iMakeProps(c,p,m);
    PersistentStore(p,CLSID);
end


function p = iMakeProps(c,p,m)
p = designproperties(c.cset_pointset,p,m);
p = addprop(p,'NumberOfPoints',...
    @iGetRuns, @iSetRuns,...
    'int',[0 Inf],...
    'Number of points'); 

p = addprop(p,'Scramble',...
    @iGetApplyScramble, @iSetApplyScramble,...
    'enum',{'None','MatousekAffineOwen'},...
    'Scrambling method for sequence'); 
p = addprop(p,'SkipMode',...
    @iGetSkipMode, @iSetSkipMode,...
    'enum',{'None','2^k','Custom'},...
    'Skip mode options'); 
p = addprop(p,'Skip',...
    @iGetSkip, @iSetSkip,...
    'int',[0 Inf],...
    'Skip size'); 

function v = iGetApplyScramble(cs,m)

v = get(cs, 'Scramble');
if isempty(v)
    v = 'None';
end


function cs = iSetApplyScramble(cs,v,m)

if strcmp(v,'None')
    cs = set(cs, 'Scramble', '');
else
    cs = set(cs, 'Scramble', v);
end


function v = iGetRuns(c,m)

v = get(c,'n');

function c = iSetRuns(c,v,m)

c = set(c,'n',v);


function v = iGetSkipMode(c,m)

v = get(c,'SkipMode')+1;
opts = {'None','one','2^k','Custom'};
v = opts{v};

function c = iSetSkipMode(c,v,m)

opts = {'None','one','2^k','Custom'};
val = find(strcmp(v,opts))-1;
c = set(c,'SkipMode',val);


function v = iGetSkip(c,m)

v = get(c,'Skip');


function c = iSetSkip(c,v,m)


c = set(c,'Skip',v);