Accelerating the pace of engineering and science

# bbdesign

Box-Behnken design

## Syntax

dBB = bbdesign(n)
[dBB,blocks] = bbdesign(n)
[...] = bbdesign(n,param,val)

## Description

dBB = bbdesign(n) generates a Box-Behnken design for n factors. n must be an integer 3 or larger. The output matrix dBB is m-by-n, where m is the number of runs in the design. Each row represents one run, with settings for all factors represented in the columns. Factor values are normalized so that the cube points take values between -1 and 1.

[dBB,blocks] = bbdesign(n) requests a blocked design. The output blocks is an m-by-1 vector of block numbers for each run. Blocks indicate runs that are to be measured under similar conditions to minimize the effect of inter-block differences on the parameter estimates.

[...] = bbdesign(n,param,val) specifies one or more optional parameter/value pairs for the design. The following table lists valid parameter/value pairs.

ParameterDescriptionValues
'center'

Number of center points.

Integer. The default depends on n.

'blocksize'

Maximum number of points per block.

Integer. The default is Inf.

## Examples

The following creates a 3-factor Box-Behnken design:

```dBB = bbdesign(3)
dBB =
-1    -1     0
-1     1     0
1    -1     0
1     1     0
-1     0    -1
-1     0     1
1     0    -1
1     0     1
0    -1    -1
0    -1     1
0     1    -1
0     1     1
0     0     0
0     0     0
0     0     0```

The center point is run 3 times to allow for a more uniform estimate of the prediction variance over the entire design space.

Visualize the design as follows:

```plot3(dBB(:,1),dBB(:,2),dBB(:,3),'ro',...
'MarkerFaceColor','b')
X = [1 -1 -1 -1 1 -1 -1 -1 1 1 -1 -1; ...
1 1 1 -1 1 1 1 -1 1 1 -1 -1];
Y = [-1 -1 1 -1 -1 -1 1 -1 1 -1 1 -1; ...
1 -1 1 1 1 -1 1 1 1 -1 1 -1];
Z = [1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1; ...
1 1 1 1 -1 -1 -1 -1 1 1 1 1];
line(X,Y,Z,'Color','b')
axis square equal```

## See Also

Was this topic helpful?