命名空间:netMarketing.Algorithm.Statistics
功能:统计学算法处理类
功能详细说明:
这个类是实现生产工艺中常见的统计学算法,包括下面这些:
Mean 平均值
Sigma 西格玛
stDev 标准偏差
CPK
PT
COV 变异系数
R 极差
泛型数据比较
这些算法在测量设备中广泛使用,生产中类似于Sigma这样的算法甚至做为生产指标跟工人的工资奖励挂勾。
常用函数列表:
/// 计算平均值,开关isCalNoZero表示数据中为零的元素不参加计算 public T calAverage<T>(List<T> data,bool ZeroNotCal=true) where T : struct /// 计算平均值,参数isCalNoZero,数据中为零的元素不参加计算 public T calAverage<T>(Collection<T> data, bool ZeroNotCal = true) where T : struct /// 计算平均值,同calAverage,仅名称不同 public T calMean<T>(List<T> data, bool ZeroNotCal = true) where T : struct /// 计算西格玛Sigma public T calSigma<T>( List<T> arrData) where T : struct /// 计算标准偏差 public T stDev<T>(List<T> arrData) where T : struct /// 标准差 public double calSigma(DataTable dt) /// 计算CPK, CPK=min((上限-mean),(mean-下限))/3/sigma public T calCPK<T>(List<T> data,double upLimit,double dnLimit) where T : struct /// 计算PT值 public List<T> calPT<T>(List<T> data,int columns) where T : struct /// 变异系数 public T calCOV<T>(List<T> data) where T:struct /// 计算泛型列表的最大值 public T calMax<T>(List<T> data) where T : struct /// 计算泛型列表的最小值 public T calMin<T>(List<T> data) where T : struct /// 极差R public T calR<T>(List<T> data) where T:struct /// 判定A等于B(A.CompareTo(B)==0) private static bool A_EQ_B<T>(T a, T b) where T : IComparable /// 判定A大于B(A.CompareTo(B)<0) private static bool A_GT_B<T>(T a, T b) where T : IComparable /// 判定A大于或等于B(A.CompareTo(B)<=0) private static bool A_GET_B<T>(T a, T b) where T : IComparable /// 判定A小于B(A.CompareTo(B)>0) private static bool A_LT_B<T>(T a, T b) where T : IComparable /// 判定A小于或等于B(A.CompareTo(B)>=0) private static bool A_LET_B<T>(T a, T b) where T : IComparable
更正 2019/10/7:
netMarketing1.3.1版更正了calMin()函数总是返回0的错误;
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!
本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:


