关于求标准正态分布函数值

本文介绍了如何在工艺质量系统中计算计量型不合格率,涉及标准正态分布函数的计算。最初通过Excel计算,但由于服务器环境限制,转向使用积分函数实现,但遇到内存溢出问题。最终采用枚举数列并存储在哈希表中,通过查询数据库表解决计算问题,实现高效且内存友好的正态分布函数值获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     今年三月以来,一直在做工艺质量系统,基础做完了,开始做统计分析,其中需要计算烟支和烟丝的工艺合格率,一开始以为就是合格数/样品数,结果常常是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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值