Process capability indices
S = capability(data,specs)
S = capability(data,specs) estimates capability indices for measurements in data given the specifications in specs. data can be either a vector or a matrix of measurements. If data is a matrix, indices are computed for the columns. specs can be either a two-element vector of the form [L,U] containing lower and upper specification limits, or (if data is a matrix) a two-row matrix with the same number of columns as data. If there is no lower bound, use -Inf as the first element of specs. If there is no upper bound, use Inf as the second element of specs.
The output S is a structure with the following fields:
mu — Sample mean
sigma — Sample standard deviation
P — Estimated probability of being within limits
Pl — Estimated probability of being below L
Pu — Estimated probability of being above U
Cp — (U-L)/(6*sigma)
Cpl — (mu-L)./(3.*sigma)
Cpu — (U-mu)./(3.*sigma)
Cpk — min(Cpl,Cpu)
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 = 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.