python之SPC:计算Cpk

目录

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.mzph.cn/news/137657.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

i5、i9被取消,intel第一代酷睿Ultra CPU规格出炉

早在今年 6 月,Intel 就公布了即将带来全新一代酷睿 Ultra CPU。 纵观 Intel CPU 历史上的数次改名,几乎每次都代表了产品大变革,性能也是跟着跨越性地水涨船高。 而如今再次抛弃沿用长达十多年的酷睿 i 系改名为酷睿 Ultra,似乎…

fastspar微生物相关性推断

fastspar 简介 fastspar是基于Sparcc通过C编写的,速度更快,内存消耗更少。sparcc是基于OTU的原始count数,通过log转换和标准化去除传统相对丰度的天然负相关(因为所有OTU之和为1,某些OTU丰度高另外一些自然就少&…

晶振分频【FPGA】

所有数据对齐晶振。 6分频:【1】 module divider_six // 6分频 【0~2】 ( input wire sys_clk , //系统时钟 50MHz input wire sys_rst_n , //全局复位 output reg clk_out //对系统时钟 6 分频后的信号 );reg [1:0] cnt; //用于计数的寄存器 //cnt:计数器从 0 到…

springboot定时服务

上一篇文章【修改定时时间,定时任务及时生效】 是定时任务与功能项目共用一个; 我目前所在公司的定时服务是专门有一个项目处理,然后定时查询库里面的定时信息配置。 话不多说,上程序 数据库设置 create table SCHEDULER_JOB…

一个“Hello, World”Flask应用程序

如果您访问Flask网站,会看到一个非常简单的示例应用程序,只有5行代码。为了不重复那个简单的示例,我将向您展示一个稍微复杂一些的示例,它将为您编写大型应用程序提供一个良好的基础结构。 应用程序将存在于包中。在Python中&…

AIGC:使用生成对抗网络GAN实现MINST手写数字图像生成

1 生成对抗网络 生成对抗网络(Generative Adversarial Networks, GAN)是一种非常经典的生成式模型,它受到双人零和博弈的启发,让两个神经网络在相互博弈中进行学习,开创了生成式模型的新范式。从 2017 年以后&#x…

论文浅尝 | 基于对多条思维链的元推理实现智能问答

笔记整理:屠铭尘,浙江大学硕士,研究方向为知识图谱 链接:https://arxiv.org/abs/2304.13007 1. 动机 1.1 Chain of Thought的诞生 尽管大语言模型在许多自然语言处理任务上表现出色,但由于其本质是token by token的类似…

使用easyui前端框架快速构建一个crud应用

本篇文章将会详细介绍jquery easyui前端框架的使用,通过创建一个crud应用来带大家快速掌握easyui的使用。 easyui是博主最喜欢的前端框架,没有之一,因为它提供了多种主题,而且有圆润的各种组件。 目录 一、快速开始 二、准备工作…

小程序如何设置下单提示语句

下单提示会展示在购物车和提交订单页面,它可以帮助商家告知客户事项,提高用户体验和减少错误操作。例如提示:商品是否包邮、某些区域是否发货、商品送达时间等等。 在小程序管理员后台->配送设置处,填写下单提示。在设置下单提…

Java自学第8课:电商项目(3) - 重新搭建环境

由于之前用的jdk和eclipse,以及mysql并不是视频教程所采用的,在后面运行源码和使用作者提供源码时,总是报错,怀疑: 1 数据库有问题 2 jdk和引入的jar包不匹配 3 其他什么未知的错误? 所以决定卸载jdk e…

SQL入门语句

MySQL和SQL的区别是什么?之间是什么关系? SQL(Structured Query Language)是用于管理和操作关系型数据库(RDBMS)的标准语言。SQL还可以用于这些RDBMS:MySQL、Oracle、Microsoft SQL Server、Pos…

Kafka中遇到的错误:

1、原因:kafka是一个去中心化结果的,所以在启动Kafka的时候,每一个节点上都需要启动。 启动的命令:kafka-server-start.sh -daemon /usr/local/soft/kafka_2.11-1.0.0/config/server.properties

AMESim 2021安装教程

主要是AMESim的安装 写在前面,由于项目需要,需要自学AMESim,因此需要安装这个软件,目前仅仅安装使用,还不涉及到与MATLAB的联合仿真,老板说用 RT LAB半实物仿真平台,但是简单搜了一下&#xff0…

Flutter笔记:绘图示例 - 一个简单的(Canvas )时钟应用

Flutter笔记 绘图示例 - 一个简单的(Canvas )时钟应用 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_2855…

如何记录血压的波动情况

import pandas as pd from plotnine import * import matplotlib.pyplot as plt plt.rcParams[font.sans-serif] [Microsoft YaHei] 记录时间(time)、收缩压(SBP)、舒张压(DBP): df pd.DataFrame({ time: [2023-11-01 08:30, 2023-11-02 21:00, 2023-11-0…

前端-第一部分-HTML

一.初识HTML 1.1 HTML 简介 HTML 全称为 HyperText Mark-up Language,翻译为超文本标签语言,标签也称作标记或者元素。HTML 是目前网络上应用最为广泛的技术之一,也是构成网页文档的主要基石之一。HTML文本是由 HTML 标签组成的描述性文本&a…

力扣最热一百题——每日温度

Python后面的文章,内容都比较多,但是同时我又想保持每天更新的速度,所以Python的文章我继续打磨打磨,先更新一篇算法的文章。 一身正气报国家,旁无乱境不恋她 ヾ(◍∇◍)ノ゙ 力扣题号&#xff1a…

css呼吸效果实现

实现一个图片有规律的大小变化,呈现呼吸效果,怎么用CSS实现这个呼吸效果呢 一.实现 CSS实现动态效果可以使用动画( animation)来属性实现,放大缩小效果可以用transform: scale来实现,在这基础上有了动画,就可以设置一个…

ps人像怎么做渐隐的效果?

photoshop怎么制作人像渐隐的图片效果?渐隐效果需要使用渐变来实现,下面我们就来看看详细的教程。 首先,我们打开Photoshop,点击屏幕框选的【打开】,打开一张背景图片。 下面,我们点击左上角【文件】——【…

Exploration by random network distillation论文笔记

Exploration by Random Network Distillation (2018) 随机网络蒸馏探索 0、问题 这篇文章提出的随机网络蒸馏方法与Curiosity-driven Exploration by Self-supervised Prediction中提出的好奇心机制的区别? 猜想:本文是基于随机网络蒸馏提出的intrin…