Main Content

controlrules

Western Electric 管理ルールと Nelson 管理ルール

構文

R = controlrules('rules',x,cl,se)
[R,RULES] = controlrules('rules',x,cl,se)

説明

R = controlrules('rules',x,cl,se) は、ベクトル x 内のどの点が rules の管理ルールに違反するかを判定します。cl は、中心線の値のベクトルです。se は、標準誤差のベクトルです (通常、管理図上の管理限界は cl3*se および cl + 3*se という値になります)。rules は、管理ルールの名前、または複数の管理ルール名が含まれている string 配列または cell 配列です。xn 個の値を含み、rulesm 個のルールを含むとき、Rnm 列の logical 配列であり、R(i,j) の値は、点 i がルール j に違反している場合は 1、違反していない場合は 0 です。

以下に使用可能な rules の値を示します (一重引用符で囲む)。

  • we1 — 1 点が cl + 3*se より大きい

  • we2 — 3 点のうち 2 点が cl + 2*se より大きい

  • we3 — 5 点のうち 4 点が cl + se より大きい

  • we4 — 8 点のうち 8 点が次の値より大きい cl

  • we5 — 1 点が cl 3*se より小さい

  • we6 — 3 点のうち 2 点が cl 2*se より小さい

  • we7 — 5 点のうち 4 点が cl se より小さい

  • we8 — 8 点のうち 8 点が次の値より小さい cl

  • we9 — 15 点のうち 15 点が cl secl + se の間

  • we10 — 8 点のうち 8 点が cl se より小さいか cl + se より大きい

  • n1 — 1 点が cl 3*se より小さいか cl + 3*se より大きい

  • n2 — 9 点のうち 9 点が次の値と同じ側にある cl

  • n3 — 6 点のうち 6 点が増加または減少している

  • n4 — 14 点が上下を繰り返している

  • n5 — 3 点のうち 2 点が同じ側で cl 2*se より小さいか cl + 2*se より大きい

  • n6 — 5 点のうち 4 点が同じ側で cl se より小さいか cl + se より大きい

  • n7 — 15 点のうち 15 点が cl secl + se の間

  • n8 — 8 点のうち 8 点がどちらかの側で cl se より小さいか cl + se より大きい

  • we — すべての Western Electric ルール

  • n — すべての Nelson ルール

複数点ルールでは、点 i でのルール違反は、点 i で終わる点集合がルールをトリガーしたことを示します。点 i は、ルールの条件に違反した複数点の 1 つである場合にのみルール違反と判断されます。

xcl、および se の値が NaN である点はルール違反と判断されることはなく、他の点のルールにはカウントされません。

管理ルールは関数 controlchart'rules' パラメーターの値として指定できます。

[R,RULES] = controlrules('rules',x,cl,se) は、適用されたルールをリストするテキスト RULES の cell 配列を返します。

すべて折りたたむ

標本データを読み込みます。

load parts;

管理外の測定値を示すために、we2 ルールを使用して Xbar 管理図を作成します。

st = controlchart(runout,'rules','we2');
x = st.mean;
cl = st.mu;
se = st.sigma./sqrt(st.n);
hold on
plot(cl+2*se,'m')

Figure contains an axes object. The axes object with title XBAR control chart, ylabel XBAR contains 5 objects of type line. One or more of the lines displays its values using only markers These objects represent Data, Violation, Center, LCL/UCL.

管理外の点が赤い円で示されていることがわかります。

controlrules を使用して管理ルールに違反する測定値を識別します。

R = controlrules('we2',x,cl,se);
I = find(R)
I = 6×1

    21
    23
    24
    25
    26
    27

バージョン履歴

R2006b で導入