| | |
| | | package com.whyc.util; |
| | | |
| | | import com.whyc.pojo.TestParam; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.util.Arrays; |
| | |
| | | import java.util.stream.Collectors; |
| | | |
| | | public class MathUtil { |
| | | |
| | | //均一性 |
| | | public static float getStandardDeviation(List<Float> list){ |
| | | //求平均值 |
| | | float avg = list.stream().collect(Collectors.averagingDouble(Float::floatValue)).floatValue(); |
| | |
| | | double σ = Math.sqrt(s.doubleValue()); |
| | | return BigDecimal.valueOf(σ).setScale(4, RoundingMode.HALF_UP).floatValue(); |
| | | } |
| | | //评判整组的好坏flag:1 电压; 2 内阻;3 连接条 |
| | | public static String getJudge(float minStd, float std, TestParam testParam){ |
| | | String judge="未知"; |
| | | float judgeStdLow=0f; |
| | | float judgeStdHigh=0f; |
| | | if (testParam!=null){ |
| | | judgeStdLow=std*testParam.getResGoodCoeK3(); |
| | | judgeStdHigh=std*testParam.getResBadCoeK4(); |
| | | if(minStd<=judgeStdLow){ |
| | | judge="差"; |
| | | }else if(minStd<=judgeStdHigh){ |
| | | judge="良"; |
| | | }else{ |
| | | judge="优"; |
| | | } |
| | | } |
| | | return judge; |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | Float[] f = {3.54f,3.55f,3.55f,3.56f,3.57f,3.56f,3.58f,3.58f,3.56f}; |