今年三月以来,一直在做工艺质量系统,基础做完了,开始做统计分析,其中需要计算烟支和烟丝的工艺合格率,一开始以为就是合格数/样品数,结果常常是100%合格。后来发现原来犯了自以为是的错误,在质量统计学里面,合格率不是这么算的。
计量型不合格率算法:
1.双侧标准:
p=1- Φ((USL-μ)/ σ) + Φ((LSL-μ)/ σ)
2.单侧标准:
望小值:p=1-Φ((USL-μ)/ σ)
望大值:p=Φ((LSL-μ)/ σ)
Φ为标准正态分布函数,网上找了很久,没发现现成的代码,自己想到了一个方法,在c#中操作excel来计算,代码写出来了,结果发布到服务器傻眼了,服务器没装office,查了相关资料,发现微软不建议使用office组件。于是转为使用求积分函数,有找了很久,都不合用(可能我比较笨,改不好),最后同事帮我写了一个:
static double MyMathType(double x)
{
double f = Math.Exp(-x * x / 2) / Math.Sqrt(2 * Math.PI);
return f;
}
static public double GetND(double x)
{
double temp = 0;
int s = 2;
double q = 0, b = x;
bool t = true;
while (t)
{
double a = b - s;
int m = 1, n = 1, k = 1, m2 = 1;
double ep, I, h;
ep = 0.000000000001;
&n