主要内容

mbcdoe.generator

Properties and methods for design of experiment (doe) generator objects

Description

Use these properties and object functions to create and examine doe generator objects.

A mbcdoe.generator object represents the algorithm to generate a design. The generator does not include any constraints used in a design. Generator is a property of mbcdoe.design. Generator properties can be used as property value pairs in Generate and Augment.

Creation

Create a mbcdoe.generator object using Generate.

Properties

expand all

Design type, specified as an array. To set the property, use the mbcdoe.generator object.

D.Type returns the design type. You can only choose a type when you create designs. You can only set the Type of a mbcdoe.generator object after design creation, or when calling Generate or Augment.

G.Type = NewType changes the Type, where G is a mbcdoe.generator object.

To get a list of types to use as alternative designs for the current design using getAlternativeTypes, enter this command. D is an mbcdoe.design object.

Dlist = getAlternativeTypes(D)

The following tables list the properties available for each design type.

Optimal Design Properties (D-, V- and A-Optimal)

PropertyDescription
NumberOfPointsNumber of points (int: [0,Inf])
InitialPointsInitial design points (Matrix)
CandidateSetCandidate set (mbcdoe.candidateset)
AllowReplicatesAllow replicate points (boolean)
AugmentMethodMethods to add points (enum: {'random','optimal'})
ToleranceTolerance (numeric: 'positive')
MaxIterationsMaximum Iterations (int: 'positive')
NumberOfPointsToAlterNumber of points to alter per iteration using the random augment method (p) (int: 'positive')
NoImprovementNumber of iterations with no improvement using the random augment method (p) (int: 'positive')

Note

Optimal designs have dependencies between NumberOfPoints, InitialPoints and CandidateSets. When you change NumberOfPoints, an initial point is drawn from the existing candidate set. Setting NumberOfPoints updates InitialPoints. Likewise setting InitialPoints updates NumberOfPoints. When changing the candidate set a new initial design is drawn from the new candidate set.

Space-Filling Design Properties

Design TypePropertyDescription
All space-filling design types (Lattice, Latin Hypercube Sampling, Stratified Latin Hypercube, Sobol, Halton)NumberOfPointsNumber of points (int: [0,Inf])
LimitsDesign Limits (matrix: [NumInputs,2])
BoundaryPercentLimits the maximum number of boundary points as a percentage of the total number of design of experiment (DoE) points (int: 'positive')
LatticePrimeGeneratorsPrime number generators for lattice for each input (vector int: [0,Inf])
Latin Hypercube Sampling and Stratified Latin HypercubeSelectionCriteriaSelection criteria for best LHS design (enum: {'discrepancy',
'minimax',
'maximin',
'cdfvariance',
'cdfmaximum'
})
Symmetry Symmetric design (boolean)
Stratified Latin HypercubeStratifyLevels Number of levels for each factors (vector int:
{[0,Inf],
NumInputs})
StratifyValuesStratify levels (cell)
Sobol SequenceScrambleScramble method (enum: {'none',
'MatousekAffineOwen'
}
SkipModeSkip mode options (enum: {'None','2^k',
'Custom'
})
SkipSkip size (int: [0,Inf])
Halton SequenceScramble Scrambling method for sequence (enum: {'None','RR2'})
PrimeLeapLeap sequence points using prime number (boolean)
SkipZeroSkip zero point (boolean)

Classical Design Properties

Design TypePropertyDescription
All (Box-Behnken, Central Composite, Full Factorial, Plackett-Burman, Regular Simplex)NumberOfPoints (read-only)Number of points (int: [0,Inf])
LimitsDesign limits
All except Plackett-BurmanNumberOfCenterPointsNumber of center points (int: [0,Inf])
Central CompositeStarPointsStar point position (enum: {'FaceCenteredCube',
'Spherical',
'Rotatable',
'Custom'
})
InscribeInscribe points (boolean)
Alpha Specify 'Custom' star point location: (vector: {'positive', NumInputs})
For 'FaceCenteredCube', alpha = 1
For 'Spherical', alpha = sqrt(nf)
For 'Rotatable', alpha = 2^(nf/4)
Full FactorialLevelsCell array of levels for each input (cell)
NumberOfLevelsNumber of levels for each input (vector int: {'positive', NumInputs })

Data Types: char | string

Object Functions

getAlternativeTypesAlternative model or design types

Examples

collapse all

Specify the Type while creating and then generating a design of a given size.

D = CreateDesign(model,'Type','Sobol Sequence')
D = Generate(D,128);

Create a full factorial design and specify the number of levels when generating the design.

design = CreateDesign( inputs, 'Type', 'Full Factorial' );
design = Generate( design, 'NumberOfLevels', [50 50] );

Create and generate a halton design with 50 points.

haltonDesign = CreateDesign( inputs, 'Type',...
 'Halton Sequence', 'Name', 'Halton' );
haltonDesign = Generate( haltonDesign, 50 );

Create and generate a halton design with specified scrambling and other properties.

haltonDesignWithScrambling = haltonDesign.CreateDesign...
( 'Name', 'Scrambled Halton' );
haltonDesignWithScrambling = Generate...
( haltonDesignWithScrambling,...
 'Scramble', 'RR2', 'PrimeLeap', true );

Generate an optimal design with specified properties.

OptDesign = Generate(OptDesign,...
    'Type','V-optimal',...
    'CandidateSet',C,...
    'MaxIterations',200,...
    'NoImprovement', 50,...
    'NumberOfPoints',200);

The previous code is equivalent to setting the properties individually and then calling Generate.

P = OptDesign.Generator;
P.Type = 'V-optimal';
P.CandidateSet.NumberOfLevels(:)=21;
P.MaxIterations = 200;
P.NumberOfPoints = 200;
P.NoImprovement = 50;
OptDesign.Generator = P;

Augment a design optimally with 20 points.

OptDesign = Augment(OptDesign,...
    'Type','V-optimal',...
    'MaxIterations',200,...
    'NoImprovement', 50,...
    'NumberOfPoints',20);

Version History

Introduced in R2008a