Process capability indices
S = capability(data,specs)
S = capability(data,specs) estimates capability
indices for measurements in
data given the specifications
data can be either
a vector or a matrix of measurements. If
a matrix, indices are computed for the columns.
be either a two-element vector of the form
lower and upper specification limits, or (if
a matrix) a two-row matrix with the same number of columns as
If there is no lower bound, use
-Inf as the first
specs. If there is no upper bound, use
the second element of
S is a structure with the following
mu — Sample mean
sigma — Sample standard
P — Estimated probability
of being within limits
Pl — Estimated probability
of being below
Pu — Estimated probability
of being above
Indices are computed under the assumption that data values are independent samples from a normal population with constant mean and variance.
Indices divide a “specification width” (between specification limits) by a “process width” (between control limits). Higher ratios indicate a process with fewer measurements outside of specification.
Simulate a sample from a process with a mean of 3 and a standard deviation of 0.005.
rng default; % for reproducibility data = normrnd(3,0.005,100,1);
Compute capability indices if the process has an upper specification limit of 3.01 and a lower specification limit of 2.99.
S = capability(data,[2.99 3.01])
S = struct with fields: mu: 3.0006 sigma: 0.0058 P: 0.9129 Pl: 0.0339 Pu: 0.0532 Cp: 0.5735 Cpl: 0.6088 Cpu: 0.5382 Cpk: 0.5382
Visualize the specification and process widths.
capaplot(data,[2.99 3.01]); grid on
 Montgomery, D. Introduction to Statistical Quality Control. Hoboken, NJ: John Wiley & Sons, 1991, pp. 369–374.