为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > C#+标准偏差STDEV与CPK的计算方法(公式)

C#+标准偏差STDEV与CPK的计算方法(公式)

2017-09-19 6页 doc 20KB 326阅读

用户头像

is_589748

暂无简介

举报
C#+标准偏差STDEV与CPK的计算方法(公式)C#+标准偏差STDEV与CPK的计算方法(公式) C# 标准偏差STDEV与CPK的计算 最近由于在做一个检测的项目,客户要求报表必须生成CPK报表,以前对CPK一点概念都没有,经过查资料,做出CPK相关的函数. 根据百度百科: 标准偏差公式:S = Sqrt[(?(xi-x拨)^2) /(N-1)]公式中?代表总和,x拨代表x的均值,^2代表二次方,Sqrt代表平方根。 例:有一组数字分别是200、50、100、200,求它们的标准偏差。 x拨 = (200+50+100+200)/4 = 550/4 = 137...
C#+标准偏差STDEV与CPK的计算方法(公式)
C#+偏差STDEV与CPK的计算方法(公式) C# 标准偏差STDEV与CPK的计算 最近由于在做一个检测的项目,客户要求报表必须生成CPK报表,以前对CPK一点概念都没有,经过查资料,做出CPK相关的函数. 根据百度百科: 标准偏差公式:S = Sqrt[(?(xi-x拨)^2) /(N-1)]公式中?代表总和,x拨代表x的均值,^2代表二次方,Sqrt代表平方根。 例:有一组数字分别是200、50、100、200,求它们的标准偏差。 x拨 = (200+50+100+200)/4 = 550/4 = 137.5 S^2 = [(200-137.5)^2+(50-137.5)^2+(100-137.5)^2+(200-137.5)^2]/(4-1) 标准偏差 S = Sqrt(S^2) STDEV基于样本估算标准偏差。 标准偏差反映数值相对于平均值 (mean) 的离散程度。 其中: Cpk:制程能力指标 要求1.33以上 Cp: 技术能力指标 要求1.0以上 k: 管理能力指标 要求0.25以下 Mean:平均值 s: 标准差,值越大,数据越散乱 USL:规格上限 LSL:规格下限 n: 数据数目(30~50) 下面是计算CPK会用到的类: using System; using System.Collections.Generic; using System.Text; namespace CPKClass { class ProCPK { public static float StDev(float[] arrData) //计算标准偏差 { float xSum = 0F; float xAvg = 0F; float sSum = 0F; float tmpStDev = 0F; int arrNum = arrData.Length; for (int i = 0; i < arrNum; i++) { xSum += arrData[i]; } xAvg = xSum / arrNum; for (int j = 0; j < arrNum; j++) { sSum += ((arrData[j] - xAvg) * (arrData[j] - xAvg)); } tmpStDev = Convert.ToSingle(Math.Sqrt((sSum / (arrNum - 1))).ToString()); return tmpStDev; } public static float Cp(float UpperLimit, float LowerLimit, float StDev) / { float tmpV = 0F; tmpV = UpperLimit - LowerLimit; return Math.Abs(tmpV / (6 * StDev)); } public static float Avage(float[] arrData) { float tmpSum = 0F; for (int i = 0; i < arrData.Length; i++) { tmpSum += arrData[i]; } return tmpSum / arrData.Length; } public static float Max(float[] arrData) { float tmpMax = 0; for (int i = 0; i < arrData.Length; i++) { if (tmpMax < arrData[i]) { tmpMax = arrData[i]; } } return tmpMax; } public static float Min(float[] arrData) { float tmpMin = arrData[0]; for (int i = 1; i < arrData.Length; i++) { if (tmpMin > arrData[i]) { tmpMin = arrData[i]; } } return tmpMin; } public static float CpkU(float UpperLimit, float Avage, float StDev) { float tmpV = 0F; tmpV = UpperLimit - Avage; return tmpV / (3 * StDev); } public static float CpkL(float LowerLimit, float Avage, float StDev) { float tmpV = 0F; tmpV = Avage - LowerLimit; return tmpV / (3 * StDev); } public static float Cpk(float CpkU, float CpkL) { return Math.Abs(Math.Min(CpkU, CpkL)); } private void button1_Click(object sender, EventArgs e) { float[] k = { 0.03F, 0.06F, 0.05F, 0.03F, 0.04F, 0.04F, 0.03F, 0.04F, 0.04F, 0.04F, 0.04F, 0.04F, 0.04F, 0.03F, 0.01F, 0.03F, 0.01F, 0.03F, 0.04F, 0.04F, 0.04F, 0.05F, 0.02F, 0.04F, 0.05F, 0.05F, 0.05F, 0.05F, 0.03F, 0.05F, 0.05F, 0.03F, 0.02F, 0.04F, 0.04F, 0.02F, 0.06F, 0.04F, 0.02F, 0.03F, 0.04F, 0.02F, 0.05F, 0.06F, 0.07F, 0.02F, 0.04F, 0.04F, 0.03F, 0.03F }; float Nomial = 0.05F; float UpperLimit = 0.12F; float LowerLimit =0F; textBox1.Text = "检测点:" + k.Length.ToString()+"/r/n"; textBox1.Text += "Nominal:"+Nomial.ToString()+"/r/n"; textBox1.Text += "UpperLimit:"+UpperLimit.ToString("F2")+ "/r/n"; textBox1.Text += "LowerLimit:"+LowerLimit.ToString("F2") + "/r/n"; textBox1.Text += "Average:" + Avage(k).ToString("F3") + "/r/n"; textBox1.Text += "STD:" + StDev(k).ToString("F3") + "/r/n"; textBox1.Text += "Cp:" + Cp(UpperLimit, LowerLimit, StDev(k)).ToString("F3") + "/r/n"; textBox1.Text += "CpkU:" + CpkU(UpperLimit, Avage(k), StDev(k)).ToString("F3") + "/r/n"; textBox1.Text += "CpkL:" + CpkL(LowerLimit, Avage(k), StDev(k)).ToString("F3") + "/r/n"; textBox1.Text += "Cpk:" + Cpk(CpkU(UpperLimit, Avage(k), StDev(k)), CpkL(LowerLimit, Avage(k), StDev(k))).ToString("F3") + "/r/n"; textBox1.Text += "Min:" + Min(k).ToString("F3") + "/r/n"; textBox1.Text += "Max:" + Max(k).ToString("F3") + "/r/n"; } } } 由于本人是做机器视觉的,对工厂制程管控并不是很了解,上面公式是根据网上资料而写,难免有些疏漏或勘误(比如有些资料还有Ca 的参数,有些并不用到Ca),如果有错,请与我联系。
/
本文档为【C#+标准偏差STDEV与CPK的计算方法&#40;公式&#41;】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索