已知不合格率p,p<=0.1,对以下两个问题进行代码求解 (1)在 95%的信度下认定零配件次品率超过标称值,则拒收这批零配件; (2) 在 90%的信度下认定零配件次品率不超过标称值,则接收这批零配件。
时间: 2024-09-06 19:01:13 浏览: 323
cpp代码-已知XYZ+YZZ=532,X Y Z为数字,求解
对于这两个问题,我们可以使用二项分布的概率计算来进行判断。假设标称合格率为q=1-p,我们需要计算在给定条件下达到特定次品率的概率,并与置信区间进行比较。
在Python中,可以使用`scipy.stats.binom`模块来模拟这个过程。这里是一个简单的代码示例:
```python
import numpy as np
from scipy.stats import binom, norm
def is_rejected(p, confidence_level):
n = 1000 # 假设每批零配件检查1000件
q = 1 - p # 标称合格率
# 1) 在95%信度下,如果95%的次品率大于标称值,即q * n + 1.96 * sqrt(n*q*(1-q)) > 0.95n
critical_success_rate = confidence_level * n
failure_threshold = q * n + norm.ppf((confidence_level + 0.5) / 2, scale=np.sqrt(n * q * (1 - q)))
if failure_threshold > critical_success_rate:
return True # 拒绝
else:
return False # 接受
# 对于每个问题分别计算
problem_1_confidence = 0.95
reject_1 = is_rejected(p, problem_1_confidence)
print(f"在 {problem_1_confidence} 信度下,如果次品率超过 {p*100}%,则{'' if reject_1 else '不'}拒收.")
problem_2_confidence = 0.90
accept_2 = is_rejected(p, problem_2_confidence)
print(f"在 {problem_2_confidence} 信度下,如果次品率不超过 {p*100}%,则{'' if accept_2 else '不'}接收.")
```
阅读全文