python之SPC:计算Cpk

news/2025/3/15 6:48:28/

目录

1、Ca、Cp和Cpk的理解

2、python计算Cp,Cpk与Pp,Ppk

3、总结


1、Ca、Cp和Cpk的理解

Ca、Cp和Cpk是制程能力指数,它们分别代表制程准确度、制程精密度和制程能力指数。

制程准确度(Ca)反映实际平均值与规格中心值之一致性。对于单边规格,因不存在规格中心,因此不存在Ca;对于双边规格,Ca=(μ-U)/(T/2)。其中μ为均值,U为规格中心,T为规格

制程精密度(Cp)反映规格公差宽度与制程变异宽度之比例。Cp=T/(6σ)

Cpk是Ca及Cp两者的中和反应。Ca反应的是位置关系(集中趋势),Cp反应的是散布关系(离散趋势)。Cpk的计算公式为:Cpk=Cp(1-┃Ca┃)。

2、python计算Cp,Cpk与Pp,Ppk

以下为计算Cpk的代码,数据存在txt文件,两列数据,每行2个数据,以空格间隔,读取数据后作直方图、概率密度图,打印Cpk等值:

import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats
def Ca(data, USL, LSL):""":param data: 数据:param USL: 数据指标上限:param LSL: 数据指标下限:return:"""u=np.mean(data)ca=(u-(USL-(USL-LSL)/2))/((USL-LSL)/2)return cadef Cp(data, USL, LSL):""":param data: 数据:param USL: 数据指标上限:param LSL: 数据指标下限:return:"""# 计算每组的平均值和标准差sigma = np.std(data)cp = (USL - LSL) / 6 / sigmareturn cpdef Cpk(data, USL, LSL):""":param data: 数据:param USL: 数据指标上限:param LSL: 数据指标下限:return:"""return Cp(data, USL, LSL)*(1-np.abs(Ca(data, USL, LSL)))def Pp(data, USL, LSL):""":param data: 数据:param USL: 数据指标上限:param LSL: 数据指标下限:return:"""sigma = np.std(data)pp = (USL - LSL) / 6 / sigmareturn ppdef Ppk(data, USL, LSL):""":param data: 数据:param USL: 数据指标上限:param LSL: 数据指标下限:return:"""u = np.mean(data)sigma = np.std(data)ppk = min(USL - u, u - LSL) / 3 / sigmareturn ppkdef openreadtxt(file_name):data = []with open(file_name, 'r') as file:file_data = file.readlines()  # 读取所有行for row in file_data:tmp_list = row.split()tmp = [float(x) for x in tmp_list]data.append(tmp)  # 将每行数据插入data中return data
#轮廓点存储路径
filename1 =r"C:\Users\user\Documents\F1-21\cpk.txt"
data = openreadtxt(filename1)
shank_diameter = np.array(data)[:, 0]
# shank_roundness = np.array(data)[:, 1]
usl=3.1715
lsl=3.1685
cp = Cp(shank_diameter, usl, lsl)
cpk = Cpk(shank_diameter, usl, lsl)
pp = Pp(shank_diameter,usl, lsl)
ppk = Ppk(shank_diameter,usl, lsl)
# usl=0.0004
# lsl=0.0
# cp = Cp(shank_roundness, usl, lsl)
# cpk = Cpk(shank_roundness, usl, lsl)
# pp = Pp(shank_roundness,usl, lsl)
# ppk = Ppk(shank_roundness,usl, lsl)
print("Cp=", cp, "Cpk=", cpk, "Pp=", pp, "Ppk=", ppk)num_bins = 40plt.figure(figsize=(9,6), dpi=100)n, bins, patches = plt.hist(shank_diameter, num_bins,color='w', edgecolor='k',hatch=r'ooo',density=1,label="直方图")
x = np.linspace(min(shank_diameter), max(shank_diameter), 100)
plt.plot(x, stats.norm.pdf(x, np.mean(shank_diameter), np.std(shank_diameter)), 'r',label="概率密度")# plt.axvline(x=usl, color='red', linestyle='--')
# plt.annotate(f'x={usl}', xy=(usl, 2500), xytext=(np.max(shank_roundness)/2,2500),arrowprops=dict(facecolor='green', shrink=0.05))
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.xlabel('柄部直径')
plt.ylabel('数量')
plt.title(f'柄部直径:$\max={np.max(shank_diameter)}$, $\min={np.min(shank_diameter)}$')
plt.legend()
plt.show()

3、总结

1)Cpk计算要求过程稳定,也就是要服从正态分布,本例通过直方图与概率密度图大致判断。

2)所有数据只分一组的话,Cp,Cpk分别与Pp,Ppk相等,那么,数据该分组吗?

3)少量数据偏离规格,偏离越多越远,Cpk越小,但是偏离较远的也可能是异常值,到底该如何区分较远的偏离值与异常值。


http://www.ppmy.cn/news/1209028.html

相关文章

css绘制常见的一些图形

以下是在CSS中绘制常见图形的示例代码: 线条: .line {width: 100px;height: 1px;background-color: black; }箭头: .arrow {width: 0;height: 0;border-top: 10px solid transparent;border-bottom: 10px solid transparent;border-right:…

基于SSM的软考系统设计实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

ARMday2(环境创建+工程配置+创建文件+单步调试)

目录 一、汇编环境的创建 二、为工程配置链接脚本(map.lds) 三、为工程创建汇编文件 start.s 编程调试 接下来我们需要建立一个 start.s 汇编文件添加到我们的工程中去 四、对汇编代码进行单步调试(仿真) 五、汇编工程的编译 …

学习c#的第二天

目录 C# 基本语法 using 关键字 class 关键字 C# 中的注释 成员变量 成员函数 类的实例化 标识符 C# 关键字 C# 基本语法 C# 是一种面向对象的编程语言。在面向对象的程序设计方法中,程序由各种相互交互的对象组成。相同种类的对象通常具有相同的类型&…

为什么说软文推广中了解用户是关键?

数字化时代下软文成为众多企业推广品牌的方式之一,所谓软文,就是指以向用户提供信息,并将产品隐含在信息中的柔性手段。 想要使软文效果明显,就必须深入了解用户,把握其需求、兴趣和行为特点,这也是今天媒…

linux重要的目录之proc和dev目录

/proc/目录 虚拟文件系统,将内核与进程状态归档为文本文件(系统信息都存放这目录下) Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟…

React Native适配Xcode 15 iOS 17.0+

iOS 17.0 Simulator(21A328)下载失败 App Store 更新到 Xcode15 后,无法运行模拟器和真机。需要下载iOS 17对应的模拟器。Xcode中更新非常容易中断失败,可以在官网单独下载iOS 17模拟器文件,例如:iOS_17.0.1_Simulator_Runtime.d…

acwing算法基础之搜索与图论--最短路问题

目录 1 基础知识2 模板3 工程化 1 基础知识 假设有n个结点,m条边(边的长度或者权重不一致),最短路问题的分类及求解方法如下: 1 单源最短路问题,例如求结点1到结点n的最短距离。 1.1 所有边的权重都是正的…